/*
Theme Name: NSQUARE RENEW Store
Template: twentytwentyfive
Version: 1.8.20
Text Domain: nsquare-renew
*/

@font-face {
	font-family: "Manrope";
	src: url("assets/fonts/Manrope-Regular.ttf") format("truetype");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Manrope";
	src: url("assets/fonts/Manrope-SemiBold.ttf") format("truetype");
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Manrope";
	src: url("assets/fonts/Manrope-ExtraBold.ttf") format("truetype");
	font-weight: 700 900;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Noto Sans SC";
	src: url("assets/fonts/NotoSansSC-Regular.ttf") format("truetype");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}

:root {
	--nsr-navy: #0d1b2e;
	--nsr-blue: #1769e0;
	--nsr-cyan: #46b7ff;
	--nsr-ink: #101828;
	--nsr-muted: #667085;
	--nsr-line: #e7ebf0;
	--nsr-surface: #f5f7fa;
}

body {
	background: #fff;
	color: var(--nsr-ink);
	font-family: "Manrope", "Noto Sans SC", sans-serif;
}

/* WooCommerce account */
.woocommerce-account main {
	box-sizing: border-box;
	width: min(1440px, calc(100% - clamp(40px, 8vw, 140px))) !important;
	max-width: none !important;
	margin: 0 auto !important;
	padding: clamp(60px, 8vw, 120px) 0 100px !important;
}

.woocommerce-account main > .alignfull {
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce-account main .wp-block-post-title {
	max-width: none;
	margin: 0 0 clamp(28px, 4vw, 52px);
	font-size: clamp(44px, 6vw, 88px);
	font-weight: 400;
	letter-spacing: -.065em;
	line-height: .95;
}

.woocommerce-account main .wp-block-post-title::before {
	display: block;
	margin-bottom: 18px;
	color: var(--nsr-blue);
	font-size: 15px;
	font-weight: 800;
	letter-spacing: .16em;
	line-height: 1;
	text-transform: uppercase;
	content: "NSQUARE RENEW · CUSTOMER PORTAL";
}

.nsr-lang-zh.woocommerce-account main .wp-block-post-title::before {
	content: "NSQUARE RENEW · 客户中心";
}

.woocommerce-account .entry-content,
.woocommerce-account .entry-content > .woocommerce {
	max-width: none !important;
}

.woocommerce-account .woocommerce h2,
.woocommerce-account .woocommerce h3 {
	letter-spacing: -.035em;
}

.woocommerce-account .woocommerce h2 {
	margin: 0;
	font-size: clamp(25px, 3vw, 38px);
	font-weight: 600;
}

.woocommerce-account .woocommerce-form-login {
	position: relative;
	box-sizing: border-box;
	width: min(100%, 660px);
	margin: 18px 0 0 !important;
	padding: clamp(28px, 4vw, 48px) !important;
	overflow: hidden;
	border: 1px solid #26364d !important;
	border-radius: 20px !important;
	background:
		radial-gradient(circle at 90% 0, rgba(70, 183, 255, .15), transparent 32%),
		linear-gradient(145deg, #0d192a, #111f34);
	box-shadow: 0 30px 80px rgba(13, 27, 46, .18);
	color: #fff;
}

.woocommerce-account #customer_login {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(18px, 3vw, 34px);
}

.woocommerce-account #customer_login::before,
.woocommerce-account #customer_login::after {
	display: none;
}

.woocommerce-account #customer_login > .u-column1,
.woocommerce-account #customer_login > .u-column2 {
	float: none;
	width: auto;
}

.woocommerce-account #customer_login > div > h2 {
	margin-bottom: 18px;
}

.woocommerce-account #customer_login .woocommerce-form-login,
.woocommerce-account #customer_login .woocommerce-form-register {
	box-sizing: border-box;
	width: 100%;
	height: calc(100% - 64px);
	min-height: 560px;
	margin: 0 !important;
	padding: clamp(30px, 3.3vw, 48px) !important;
	border: 1px solid rgba(111, 193, 255, .25) !important;
	border-radius: 20px !important;
	box-shadow: 0 30px 80px rgba(13, 27, 46, .2);
	color: #fff;
}

.woocommerce-account #customer_login .woocommerce-form-login {
	background:
		radial-gradient(circle at 92% 4%, rgba(63, 172, 255, .28), transparent 33%),
		linear-gradient(140deg, #081525 0%, #102c4d 58%, #123f6a 100%);
}

.woocommerce-account #customer_login .woocommerce-form-register {
	background:
		radial-gradient(circle at 10% 0, rgba(74, 209, 255, .28), transparent 36%),
		linear-gradient(145deg, #0b2138 0%, #104c70 62%, #126f91 100%);
}

.woocommerce-account #customer_login .woocommerce-form-register::before {
	display: block;
	margin-bottom: 34px;
	color: #91e1ff;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
	content: "CREATE CUSTOMER ACCOUNT";
}

.nsr-lang-zh.woocommerce-account #customer_login .woocommerce-form-register::before {
	content: "创建客户账户";
}

.woocommerce-account #customer_login .woocommerce-form-register label {
	color: #d4e7f2;
}

.woocommerce-account #customer_login .woocommerce-form-register .input-text {
	border-color: rgba(190, 226, 246, .35);
	background: rgba(255, 255, 255, .92);
	color: var(--nsr-ink);
}

.woocommerce-account #customer_login .woocommerce-privacy-policy-text {
	color: #c2dce9;
	font-size: 12px;
	line-height: 1.6;
}

.woocommerce-account #customer_login .woocommerce-privacy-policy-text a {
	color: #fff;
}

.woocommerce-account .woocommerce-form-login::before {
	display: block;
	margin-bottom: 34px;
	color: #62c3ff;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
	content: "SECURE ACCOUNT ACCESS";
}

.nsr-lang-zh.woocommerce-account .woocommerce-form-login::before {
	content: "安全账户登录";
}

.woocommerce-account .woocommerce-form-login .form-row {
	margin: 0 0 22px;
	padding: 0;
}

.woocommerce-account .woocommerce-form-login label,
.woocommerce-account .woocommerce-EditAccountForm label,
.woocommerce-account .woocommerce-address-fields label {
	display: block;
	margin-bottom: 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .055em;
}

.woocommerce-account .woocommerce-form-login label {
	color: #b7c4d6;
}

.woocommerce-account .input-text,
.woocommerce-account select,
.woocommerce-account textarea {
	box-sizing: border-box;
	width: 100%;
	min-height: 52px;
	padding: 13px 15px;
	border: 1px solid #d8e0ea;
	border-radius: 9px;
	background: #fff;
	color: var(--nsr-ink);
	font: inherit;
	outline: 0;
	transition: border-color .18s ease, box-shadow .18s ease;
}

.woocommerce-account .woocommerce-form-login .input-text {
	border-color: #31435b;
	background: rgba(255, 255, 255, .07);
	color: #fff;
}

.woocommerce-account .input-text:focus,
.woocommerce-account select:focus,
.woocommerce-account textarea:focus {
	border-color: var(--nsr-cyan);
	box-shadow: 0 0 0 3px rgba(70, 183, 255, .17);
}

.woocommerce-account .show-password-input {
	top: 50% !important;
	transform: translateY(-50%);
}

.woocommerce-account .woocommerce-form-login__rememberme {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	margin: 0 18px 14px 0;
	color: #dbe4ef !important;
}

.woocommerce-account .woocommerce-form-login__rememberme input {
	width: 17px;
	height: 17px;
	margin: 0;
	accent-color: var(--nsr-cyan);
}

.woocommerce-account .button,
.woocommerce-account button.button,
.woocommerce-account a.button {
	box-sizing: border-box;
	min-height: 46px;
	padding: 12px 20px !important;
	border: 0 !important;
	border-radius: 7px !important;
	background: var(--nsr-blue) !important;
	color: #fff !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	letter-spacing: .06em;
	text-decoration: none;
	text-transform: uppercase;
	transition: background .18s ease, transform .18s ease;
}

.woocommerce-account .button:hover,
.woocommerce-account button.button:hover,
.woocommerce-account a.button:hover {
	background: #0653c8 !important;
	transform: translateY(-1px);
}

.woocommerce-account .lost_password {
	margin: 10px 0 0;
}

.woocommerce-account .lost_password a {
	color: #9bd7ff;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
}

.woocommerce-account .lost_password a:hover {
	color: #fff;
}

.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
	display: grid;
	grid-template-columns: minmax(220px, 290px) minmax(0, 1fr);
	gap: clamp(30px, 5vw, 76px);
	align-items: start;
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
	float: none;
	width: auto;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	position: sticky;
	top: 28px;
	overflow: hidden;
	border-radius: 16px;
	background: var(--nsr-navy);
	box-shadow: 0 22px 55px rgba(13, 27, 46, .15);
}

.woocommerce-account .woocommerce-MyAccount-navigation::before {
	display: block;
	padding: 24px 24px 18px;
	border-bottom: 1px solid rgba(255, 255, 255, .1);
	color: #62c3ff;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .17em;
	content: "ACCOUNT MENU";
}

.nsr-lang-zh.woocommerce-account .woocommerce-MyAccount-navigation::before {
	content: "账户菜单";
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 10px;
	list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0;
	border: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: flex;
	align-items: center;
	min-height: 46px;
	padding: 0 14px;
	border-radius: 8px;
	color: #b8c5d8;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .035em;
	text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation a::before {
	width: 5px;
	height: 5px;
	margin-right: 12px;
	border: 1px solid currentColor;
	border-radius: 50%;
	content: "";
}

.woocommerce-account .woocommerce-MyAccount-navigation li:hover a,
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
	background: rgba(70, 183, 255, .12);
	color: #fff;
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active a::before {
	border-color: var(--nsr-cyan);
	background: var(--nsr-cyan);
	box-shadow: 0 0 0 4px rgba(70, 183, 255, .12);
}

.woocommerce-account .woocommerce-MyAccount-content {
	min-width: 0;
	padding-top: 4px;
	color: #475467;
	font-size: 15px;
	line-height: 1.75;
}

.woocommerce-account .woocommerce-MyAccount-content > p:first-child {
	margin-top: 0;
	padding: 22px 24px;
	border-left: 3px solid var(--nsr-cyan);
	background: #f4f8fc;
	color: #344054;
}

.woocommerce-account .woocommerce-MyAccount-content a:not(.button) {
	color: #075fd3;
	font-weight: 700;
}

.woocommerce-account .woocommerce-Addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.woocommerce-account .woocommerce-Address {
	float: none;
	box-sizing: border-box;
	width: auto;
	padding: 24px;
	border: 1px solid var(--nsr-line);
	border-radius: 12px;
	background: #fff;
}

.woocommerce-account .woocommerce-Address-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.woocommerce-account .woocommerce-Address-title h2 {
	float: none;
	font-size: 20px;
}

.woocommerce-account .woocommerce-Address-title a {
	float: none;
	font-size: 12px;
}

.woocommerce-account table.shop_table {
	overflow: hidden;
	border: 1px solid var(--nsr-line);
	border-radius: 12px;
	border-collapse: separate;
	background: #fff;
}

.woocommerce-account table.shop_table th {
	padding: 15px 18px;
	background: #f5f7fa;
	color: #475467;
	font-size: 11px;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.woocommerce-account table.shop_table td {
	padding: 17px 18px;
	border-color: var(--nsr-line);
}

.woocommerce-account fieldset {
	margin: 28px 0;
	padding: 24px;
	border: 1px solid var(--nsr-line);
	border-radius: 12px;
}

.woocommerce-account legend {
	padding: 0 10px;
	font-weight: 700;
}

.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error {
	padding: 18px 22px 18px 52px;
	border: 0;
	border-radius: 10px;
	background: #eef6ff;
	color: #23476d;
}

.woocommerce-account .woocommerce-message::before,
.woocommerce-account .woocommerce-info::before {
	color: var(--nsr-blue);
}

@media (max-width: 780px) {
	.woocommerce-account main {
		width: calc(100% - 36px) !important;
		padding-top: 42px !important;
		padding-bottom: 92px !important;
	}

	.woocommerce-account main .wp-block-post-title {
		margin-bottom: 28px;
		font-size: clamp(42px, 15vw, 64px);
	}

	.woocommerce-account .woocommerce-form-login {
		padding: 28px 22px !important;
		border-radius: 14px !important;
	}

	.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
		display: block;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation {
		position: static;
		margin-bottom: 28px;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation::before {
		padding: 18px 18px 12px;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: flex;
		gap: 6px;
		padding: 8px;
		overflow-x: auto;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation li {
		flex: none;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation a {
		min-height: 40px;
		padding: 0 12px;
		white-space: nowrap;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation a::before {
		display: none;
	}

	.woocommerce-account .woocommerce-Addresses {
		grid-template-columns: 1fr;
	}

	.woocommerce-account table.shop_table_responsive tr {
		margin-bottom: 12px;
		border: 1px solid var(--nsr-line);
		border-radius: 10px;
	}
}

/* Condition grading system: prominent and consistent in reports and Quick View. */
.pc-compact-condition {
	min-width: 156px;
	padding: 12px 16px;
	border: 0;
	border-radius: 10px;
	box-shadow: 0 8px 22px rgba(0, 0, 0, .18);
	text-align: left;
}

.pc-compact-condition span {
	color: currentColor;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .13em;
	opacity: .72;
}

.pc-compact-condition strong {
	display: block;
	margin-top: 4px;
	font-size: 18px;
	line-height: 1.12;
}

.pc-compact-condition small {
	display: block;
	margin-top: 5px;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .12em;
}

.nsr-modal-price-row > span {
	padding: 9px 13px;
	border: 0;
	border-radius: 7px;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .055em;
	box-shadow: 0 5px 14px rgba(0, 0, 0, .12);
}

.condition-open-box,
.condition-excellent,
.condition-ex-demo {
	background: #d9f8e8 !important;
	color: #08734a !important;
}

.condition-good {
	background: #dcecff !important;
	color: #0756a5 !important;
}

.condition-acceptable {
	background: #fff1bf !important;
	color: #795500 !important;
}

.condition-functional-with-faults {
	background: #ffe0bf !important;
	color: #984500 !important;
}

.condition-faulty {
	background: #ffd7dc !important;
	color: #a20d23 !important;
}

/* Short pages keep the footer at the viewport bottom without creating a gap below it. */
body .wp-site-blocks {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

body .wp-site-blocks > main {
	flex: 1 0 auto;
}

body .wp-site-blocks > footer.wp-block-template-part {
	flex: 0 0 auto;
}

/* Matching account detail sections */
.nsr-account-authenticated.woocommerce-account .woocommerce-EditAccountForm {
	display: block;
}

.nsr-account-authenticated.woocommerce-account .woocommerce-EditAccountForm .nsr-account-section {
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 20px;
	padding: 24px 28px 10px;
	border: 1px solid var(--nsr-line);
	border-radius: 12px;
	background: #fff;
}

.nsr-account-authenticated.woocommerce-account .woocommerce-EditAccountForm .nsr-personal-details {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 20px;
}

.nsr-account-authenticated.woocommerce-account .woocommerce-EditAccountForm .nsr-personal-details .form-row-wide {
	grid-column: 1 / -1;
}

.nsr-account-authenticated.woocommerce-account .woocommerce-EditAccountForm .nsr-account-section legend {
	padding: 0 10px;
	color: #344054;
	font-size: 16px;
	font-weight: 700;
}

.nsr-account-authenticated.woocommerce-account .woocommerce-EditAccountForm .nsr-account-save {
	margin: 0 !important;
}

@media (max-width: 650px) {
	.nsr-account-authenticated.woocommerce-account .woocommerce-EditAccountForm .nsr-personal-details {
		display: block;
	}
}

/* Authenticated address cards */
.nsr-account-authenticated.woocommerce-account .woocommerce-MyAccount-content > p + .woocommerce-Addresses {
	margin-top: 24px;
}

.nsr-account-authenticated.woocommerce-account .woocommerce-Addresses {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	grid-template-rows: auto !important;
	gap: 20px !important;
	align-items: stretch !important;
	width: 100% !important;
}

.nsr-account-authenticated.woocommerce-account .woocommerce-Addresses::before,
.nsr-account-authenticated.woocommerce-account .woocommerce-Addresses::after {
	display: none !important;
}

.nsr-account-authenticated.woocommerce-account .woocommerce-Addresses .woocommerce-Address {
	position: static !important;
	float: none !important;
	grid-row: 1 !important;
	box-sizing: border-box;
	width: 100% !important;
	min-height: 220px;
	margin: 0 !important;
	padding: 30px !important;
}

.nsr-account-authenticated.woocommerce-account .woocommerce-Addresses .woocommerce-Address.col-1 {
	grid-column: 1 !important;
}

.nsr-account-authenticated.woocommerce-account .woocommerce-Addresses .woocommerce-Address.col-2 {
	grid-column: 2 !important;
}

.nsr-account-authenticated.woocommerce-account .woocommerce-Address-title {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 18px;
	align-items: start;
}

.nsr-account-authenticated.woocommerce-account .woocommerce-Address-title h2 {
	margin: 0;
	font-size: 23px;
	line-height: 1.15;
}

.nsr-account-authenticated.woocommerce-account .woocommerce-Address-title a {
	padding-top: 3px;
	white-space: nowrap;
}

.nsr-account-authenticated.woocommerce-account .woocommerce-Address address {
	margin-top: 18px;
	color: #667085;
	font-style: normal;
	line-height: 1.65;
}

/* Authenticated account details */
.nsr-account-authenticated.woocommerce-account .woocommerce-EditAccountForm {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 20px;
	width: min(100%, 1080px);
}

.nsr-account-authenticated.woocommerce-account .woocommerce-EditAccountForm::before,
.nsr-account-authenticated.woocommerce-account .woocommerce-EditAccountForm::after {
	display: none;
}

.nsr-account-authenticated.woocommerce-account .woocommerce-EditAccountForm .form-row {
	float: none !important;
	box-sizing: border-box;
	width: 100% !important;
	margin: 0 0 16px !important;
	padding: 0 !important;
}

.nsr-account-authenticated.woocommerce-account .woocommerce-EditAccountForm .form-row-wide,
.nsr-account-authenticated.woocommerce-account .woocommerce-EditAccountForm fieldset,
.nsr-account-authenticated.woocommerce-account .woocommerce-EditAccountForm > p:last-child {
	grid-column: 1 / -1;
}

.nsr-account-authenticated.woocommerce-account .woocommerce-EditAccountForm .input-text {
	min-height: 48px;
	padding: 11px 14px;
}

.nsr-account-authenticated.woocommerce-account .woocommerce-EditAccountForm span em {
	display: block;
	margin-top: 5px;
	color: #77869a;
	font-size: 12px;
	line-height: 1.45;
}

.nsr-account-authenticated.woocommerce-account .woocommerce-EditAccountForm fieldset {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	margin: 10px 0 20px;
	padding: 24px 28px 8px;
}

.nsr-account-authenticated.woocommerce-account .woocommerce-EditAccountForm legend {
	font-size: 16px;
}

.nsr-account-authenticated.woocommerce-account .woocommerce-EditAccountForm > p:last-child {
	margin: 0 !important;
}

@media (max-width: 780px) {
	.nsr-account-authenticated.woocommerce-account .woocommerce-Addresses {
		grid-template-columns: 1fr !important;
	}

	.nsr-account-authenticated.woocommerce-account .woocommerce-Addresses .woocommerce-Address.col-1,
	.nsr-account-authenticated.woocommerce-account .woocommerce-Addresses .woocommerce-Address.col-2 {
		grid-column: 1 !important;
		grid-row: auto !important;
	}

	.nsr-account-authenticated.woocommerce-account .woocommerce-EditAccountForm {
		display: block;
	}
}

.nsr-copy-zh {
	display: none;
}

.nsr-lang-zh .nsr-copy-en {
	display: none;
}

.nsr-lang-zh .nsr-copy-zh {
	display: block;
}

.nsr-page-rail {
	position: fixed;
	top: 50%;
	left: 10px;
	z-index: 90;
	display: flex;
	flex-direction: column;
	gap: 4px;
	width: 54px;
	padding: 8px 5px;
	border: 1px solid var(--nsr-line);
	background: rgba(255, 255, 255, .94);
	box-shadow: 0 10px 30px rgba(16, 24, 40, .08);
	transform: translateY(-50%);
	backdrop-filter: blur(12px);
}

.nsr-page-rail a {
	padding: 8px 3px;
	color: var(--nsr-ink);
	font-size: 8px;
	font-weight: 800;
	text-align: center;
	text-decoration: none;
	word-break: break-word;
}

.nsr-page-rail a:hover {
	background: var(--nsr-ink);
	color: #fff;
}

.nsr-page-rail-brand {
	color: #064fee !important;
	font-size: 12px !important;
}

.nsr-page-rail span {
	display: block;
	margin-top: 2px;
}

a {
	text-underline-offset: 3px;
}

.nsr-product-seller {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 4px 0 16px;
	padding: 7px 11px;
	border: 1px solid #cfe0ff;
	border-radius: 999px;
	background: #f3f7ff;
	color: #35506f;
	font-size: 12px;
}

.nsr-product-seller strong {
	color: #123d75;
	font-weight: 800;
}

.nsr-product-seller i {
	display: inline-grid;
	width: 17px;
	height: 17px;
	place-items: center;
	border-radius: 50%;
	background: #126fac;
	color: #fff;
	font-size: 10px;
	font-style: normal;
}

.nsr-modal-seller {
	margin: 8px 0 2px;
	color: #126fac;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .03em;
}

.nsr-partner-cta {
	position: relative;
	box-sizing: border-box;
	overflow: hidden;
	width: calc(100vw - clamp(32px, 5vw, 100px)) !important;
	max-width: none !important;
	margin: 45px 0 0 50% !important;
	padding: clamp(30px, 4vw, 58px);
	transform: translateX(-50%);
	border-radius: 18px;
	border: 1px solid rgba(100, 195, 255, .18);
	background:
		radial-gradient(circle at 76% 10%, rgba(52, 159, 220, .28), transparent 31%),
		radial-gradient(circle at 15% 120%, rgba(24, 86, 143, .42), transparent 38%),
		linear-gradient(118deg, #071526 0%, #0c2947 54%, #124f70 100%);
	box-shadow: 0 22px 55px rgba(7, 21, 38, .16);
	color: #fff;
}

.nsr-shipping-ticker {
	position: relative;
	z-index: 1001;
	box-sizing: border-box;
	overflow: hidden;
	width: 100%;
	padding: 11px 0;
	background: #050505;
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
	line-height: 1;
	white-space: nowrap;
}

.nsr-shipping-ticker::before,
.nsr-shipping-ticker::after {
	content: "";
	position: absolute;
	right: 0;
	left: 0;
	z-index: 2;
	height: 2px;
	background: linear-gradient(90deg, transparent 0%, #1377b8 10%, #43c7ff 38%, #d9f5ff 50%, #43c7ff 62%, #1377b8 90%, transparent 100%);
	box-shadow: 0 0 8px rgba(67, 199, 255, .5);
}

.nsr-shipping-ticker::before {
	top: 0;
}

.nsr-shipping-ticker::after {
	bottom: 0;
}

.nsr-shipping-ticker-track {
	display: flex;
	width: max-content;
	animation: nsr-shipping-scroll var(--nsr-ticker-duration, 22s) linear infinite;
	will-change: transform;
}

.nsr-shipping-ticker-set {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: space-around;
	gap: clamp(28px, 4vw, 70px);
	min-width: 100vw;
	padding-right: clamp(28px, 4vw, 70px);
}

.nsr-shipping-ticker-set b {
	color: #43c7ff;
	font-size: 8px;
	font-weight: 400;
	letter-spacing: 0;
	opacity: .72;
}

@keyframes nsr-shipping-scroll {
	to {
		transform: translateX(-50%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.nsr-shipping-ticker-track {
		animation-play-state: paused;
	}
}

.nsr-partner-cta h2 {
	margin: 0;
	color: #fff;
	font-size: clamp(28px, 3vw, 44px);
}

.nsr-partner-cta p {
	margin: 8px 0 0;
	color: #c7d9e9;
}

.nsr-partner-cta .wp-block-button__link {
	border: 1px solid rgba(255, 255, 255, .72);
	background: #fff !important;
	color: #0b2037 !important;
	box-shadow: 0 10px 25px rgba(0, 0, 0, .16);
}

.nsr-partner-cta .wp-block-button__link:hover {
	background: #78d2ff !important;
	border-color: #78d2ff;
}

.nsr-partner-page {
	padding-top: clamp(45px, 7vw, 100px);
	padding-bottom: 80px;
}

.nsr-partner-page > .nsr-copy-en,
.nsr-partner-page > .nsr-copy-zh {
	max-width: 850px;
	margin-left: 0 !important;
}

.nsr-partner-page h1 {
	margin: 8px 0 18px;
	font-size: clamp(48px, 7vw, 90px);
	letter-spacing: -.055em;
}

.nsr-partner-kicker {
	color: #126fac;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .13em;
}

.nsr-partner-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	max-width: 1050px;
	margin-top: 48px;
	padding: clamp(24px, 4vw, 48px);
	border: 1px solid var(--nsr-line);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 15px 45px rgba(16, 24, 40, .07);
}

.nsr-partner-form label {
	display: grid;
	gap: 8px;
	color: #344054;
	font-size: 13px;
	font-weight: 700;
}

.nsr-partner-form label.is-wide,
.nsr-partner-form button {
	grid-column: 1 / -1;
}

.nsr-partner-form input,
.nsr-partner-form select,
.nsr-partner-form textarea {
	box-sizing: border-box;
	width: 100%;
	padding: 13px 14px;
	border: 1px solid #cfd6df;
	border-radius: 8px;
	background: #fff;
	font: inherit;
}

.nsr-partner-form select {
	min-height: 47px;
}

.nsr-info-page {
	box-sizing: border-box;
	width: min(1120px, calc(100vw - 48px)) !important;
	max-width: none !important;
	padding: clamp(55px, 7vw, 105px) 0 90px;
}

body:has(.nsr-info-page) .wp-block-post-title {
	display: none;
}

body:has(.nsr-info-page) main {
	margin-block-start: 0 !important;
}

body:has(.nsr-info-page) main > .wp-block-group {
	padding-top: 0 !important;
}

.nsr-info-page h1 {
	max-width: 950px;
	margin: 0 0 28px;
	font-size: clamp(48px, 7vw, 96px);
	font-weight: 400;
	letter-spacing: -.065em;
	line-height: .96;
}

.nsr-info-page h2 {
	margin-top: 48px;
	font-size: clamp(25px, 3vw, 38px);
}

.nsr-info-page p,
.nsr-info-page li {
	max-width: 850px;
	color: #475467;
	font-size: clamp(16px, 1.4vw, 20px);
	line-height: 1.7;
}

.nsr-partner-form button {
	justify-self: start;
	padding: 14px 24px;
	border: 0;
	border-radius: 8px;
	background: #0a1a2f;
	color: #fff;
	font-weight: 800;
	cursor: pointer;
}

.nsr-partner-trap {
	position: absolute !important;
	left: -10000px !important;
}

.nsr-partner-success {
	max-width: 1050px;
	margin-top: 30px;
	padding: 14px 18px;
	border-radius: 8px;
	background: #eaf8f2;
	color: #0b6b49;
	font-weight: 700;
}

@media (max-width: 700px) {
	.nsr-partner-cta {
		width: calc(100vw - 24px) !important;
		padding: 28px 22px;
	}

	.nsr-partner-form {
		grid-template-columns: 1fr;
	}

	.nsr-partner-form label.is-wide,
	.nsr-partner-form button {
		grid-column: auto;
	}
}

.nsr-site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	border-bottom: 1px solid rgba(16, 24, 40, .08);
	background: rgba(255, 255, 255, .94);
	box-shadow: 0 4px 18px rgba(16, 24, 40, .04);
	backdrop-filter: blur(14px);
}

.nsr-header-inner {
	min-height: 74px;
}

.nsr-brand a {
	color: var(--nsr-navy);
	font-size: 22px;
	font-weight: 900;
	letter-spacing: -.03em;
	text-decoration: none;
}

.nsr-main-nav .wp-block-navigation-item__content {
	color: var(--nsr-ink);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.nsr-main-nav .wp-block-navigation-item__content:hover {
	color: var(--nsr-blue);
}

main {
	min-height: 60vh;
}

body.home .wp-block-post-title {
	display: none;
}

body.home main.wp-block-group {
	margin-block-start: 0 !important;
}

body.home main > .wp-block-group.alignfull {
	padding-top: 20px !important;
}

body.home .entry-content {
	margin-block-start: 0 !important;
}

body.home .nsr-hero {
	margin-top: 24px !important;
}

.nsr-hero {
	overflow: hidden;
	border-radius: 22px;
	background:
		radial-gradient(circle at 82% 20%, rgba(70, 183, 255, .35), transparent 28%),
		linear-gradient(125deg, #091426, #153d6c);
	box-shadow: 0 22px 55px rgba(13, 27, 46, .2);
}

.nsr-hero h1 {
	max-width: 760px;
	margin-bottom: 18px;
	color: #fff;
	font-size: clamp(42px, 7vw, 82px);
	line-height: .98;
	letter-spacing: -.055em;
}

.nsr-hero p {
	max-width: 650px;
	color: #c9d9ed;
	font-size: clamp(17px, 2vw, 22px);
}

.nsr-hero .wp-block-button.is-style-outline .wp-block-button__link {
	border-color: rgba(255, 255, 255, .45);
	background: transparent !important;
}

.nsr-banner-slider {
	position: relative;
	box-sizing: border-box;
	overflow: hidden;
	width: calc(100vw - clamp(32px, 5vw, 100px)) !important;
	max-width: none !important;
	min-height: clamp(380px, 26vw, 500px);
	margin-left: 50% !important;
	transform: translateX(-50%);
	margin-top: 24px !important;
	margin-bottom: 70px !important;
	border-radius: 22px;
	background: #0c1c32;
	box-shadow: 0 22px 55px rgba(13, 27, 46, .2);
}

.nsr-banner-track,
.nsr-banner-slide {
	box-sizing: border-box;
	min-height: inherit;
}

.nsr-banner-slide {
	position: absolute;
	inset: 0;
	display: grid;
	align-items: center;
	padding: clamp(42px, 4.2vw, 64px) clamp(34px, 6vw, 110px);
	background:
		linear-gradient(90deg, rgba(6, 18, 35, .98) 0%, rgba(12, 34, 61, .9) 48%, rgba(16, 54, 92, .48) 100%),
		var(--nsr-banner-image, linear-gradient(125deg, #091426, #153d6c));
	background-position: center;
	background-size: cover;
	opacity: 0;
	visibility: hidden;
	transform: scale(1.015);
	transition: opacity .55s ease, visibility .55s ease, transform 1.2s ease;
}

.nsr-banner-slide.is-active {
	position: relative;
	z-index: 1;
	opacity: 1;
	visibility: visible;
	transform: scale(1);
}

.nsr-banner-copy {
	position: relative;
	z-index: 2;
	max-width: 920px;
}

.nsr-banner-eyebrow {
	display: block;
	margin-bottom: 22px;
	color: #70c5ff;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .13em;
}

.nsr-banner-copy h2 {
	margin: 0 0 22px;
	color: #fff;
	font-size: clamp(44px, 5vw, 74px);
	line-height: .98;
	letter-spacing: -.055em;
}

.nsr-banner-copy p {
	max-width: 680px;
	margin: 0;
	color: #c9d9ed;
	font-size: clamp(17px, 1.8vw, 22px);
	line-height: 1.55;
}

.nsr-banner-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 30px;
}

.nsr-banner-button {
	display: inline-flex;
	min-height: 56px;
	align-items: center;
	justify-content: center;
	padding: 0 34px;
	border: 1px solid rgba(255, 255, 255, .45);
	border-radius: 9px;
	color: #fff;
	font-weight: 800;
	text-decoration: none;
}

.nsr-banner-button.is-primary {
	border-color: #071426;
	background: #071426;
}

.nsr-banner-button:hover {
	border-color: #70c5ff;
	color: #fff;
}

.nsr-banner-arrow {
	position: absolute;
	top: 50%;
	z-index: 3;
	display: grid;
	width: 44px;
	height: 44px;
	place-items: center;
	transform: translateY(-50%);
	border: 1px solid rgba(255, 255, 255, .38);
	border-radius: 50%;
	background: rgba(7, 20, 38, .55);
	color: #fff;
	font-size: 30px;
	cursor: pointer;
}

.nsr-banner-arrow.is-prev { left: 18px; }
.nsr-banner-arrow.is-next { right: 18px; }

.nsr-banner-dots {
	position: absolute;
	right: 28px;
	bottom: 24px;
	z-index: 3;
	display: flex;
	gap: 8px;
}

.nsr-banner-dots button {
	width: 9px;
	height: 9px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .45);
	cursor: pointer;
}

.nsr-banner-dots button.is-active {
	width: 26px;
	border-radius: 9px;
	background: #70c5ff;
}

.nsr-sidebar-banner {
	width: 100%;
	margin: 0 0 30px;
}

.nsr-sidebar-banner .nsr-banner-slider {
	width: 100% !important;
	min-height: 220px;
	margin: 0 !important;
	transform: none;
	border-radius: 14px;
	box-shadow: 0 14px 30px rgba(13, 27, 46, .14);
}

.nsr-sidebar-banner .nsr-banner-slide {
	min-height: 220px;
	padding: 24px 22px;
	background:
		linear-gradient(90deg, rgba(6, 18, 35, .96) 0%, rgba(6, 18, 35, .9) 42%, rgba(8, 27, 48, .3) 68%, rgba(8, 27, 48, .08) 100%),
		var(--nsr-banner-image, linear-gradient(125deg, #091426, #153d6c));
	background-position: center, right 65%;
	background-repeat: no-repeat;
	background-size: cover, cover;
}

.nsr-sidebar-banner .nsr-banner-eyebrow {
	margin-bottom: 10px;
	font-size: 11px;
	font-weight: 800;
}

.nsr-sidebar-banner .nsr-banner-copy h2 {
	margin-bottom: 10px;
	font-size: 25px;
	line-height: 1.02;
}

.nsr-sidebar-banner .nsr-banner-copy p {
	display: -webkit-box;
	overflow: hidden;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.45;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.nsr-sidebar-banner .nsr-banner-actions {
	gap: 6px;
	margin-top: 15px;
}

.nsr-sidebar-banner .nsr-banner-button {
	min-height: 32px;
	padding: 0 12px;
	border-radius: 6px;
	font-size: 11px;
}

.nsr-sidebar-banner .nsr-banner-arrow {
	top: auto;
	bottom: 12px;
	width: 25px;
	height: 25px;
	font-size: 20px;
}

.nsr-sidebar-banner .nsr-banner-arrow.is-prev {
	left: auto;
	right: 42px;
}

.nsr-sidebar-banner .nsr-banner-arrow.is-next {
	right: 12px;
}

.nsr-sidebar-banner .nsr-banner-dots {
	display: none;
}

@media (max-width: 780px) {
	.nsr-banner-slider {
		width: calc(100vw - 24px) !important;
		min-height: 500px;
		margin-left: 50% !important;
		margin-top: 10px !important;
		margin-bottom: 34px !important;
		border-radius: 14px;
	}

	.nsr-banner-slide {
		align-items: end;
		padding: 48px 24px 62px;
		background:
			linear-gradient(0deg, rgba(6, 18, 35, .98) 0%, rgba(8, 24, 45, .84) 58%, rgba(8, 24, 45, .35) 100%),
			var(--nsr-banner-image, linear-gradient(125deg, #091426, #153d6c));
		background-position: center;
		background-size: cover;
	}

	.nsr-banner-copy h2 {
		font-size: clamp(38px, 12vw, 56px);
	}

	.nsr-banner-copy p {
		font-size: 16px;
	}

	.nsr-banner-button {
		min-height: 50px;
		padding: 0 20px;
		font-size: 14px;
	}

	.nsr-banner-arrow {
		display: none;
	}

	.nsr-banner-dots {
		right: 24px;
		bottom: 22px;
	}
}

.nsr-category-card {
	min-height: 165px;
	border: 1px solid var(--nsr-line);
	border-radius: 15px;
	background: linear-gradient(145deg, #fff, #f4f7fb);
	box-shadow: 0 8px 24px rgba(16, 24, 40, .05);
	transition: transform .2s ease, border-color .2s ease;
}

.nsr-category-card:hover {
	transform: translateY(-3px);
	border-color: #9bc8ff;
}

.nsr-category-card a {
	color: var(--nsr-ink);
	text-decoration: none;
}

.nsr-category-card p {
	color: var(--nsr-muted);
}

.nsr-category-section > .wp-block-columns,
.nsr-products-section > .woocommerce {
	width: 100%;
	max-width: none !important;
}

.nsr-products-section .woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.nsr-products-section .woocommerce ul.products::before,
.nsr-products-section .woocommerce ul.products::after {
	display: none;
}

.nsr-products-section .woocommerce ul.products li.product {
	float: none;
	width: auto;
	margin: 0;
}

.nsr-catalog-section > .nsr-interactive-catalog {
	width: 100%;
	max-width: none !important;
}

.nsr-interactive-catalog {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: 38px;
	margin-top: 10px;
	font-family: "Manrope", "Noto Sans SC", sans-serif;
}

.nsr-catalog-sidebar {
	position: sticky;
	top: 105px;
	align-self: start;
	padding-top: 8px;
}

.nsr-catalog-brand {
	display: inline-block;
	margin-bottom: 12px;
	color: var(--nsr-ink);
	font-size: 17px;
	font-weight: 800;
	letter-spacing: -.035em;
	text-decoration: none;
}

.nsr-sidebar-actions {
	display: flex;
	gap: 16px;
	margin-bottom: 44px;
}

.nsr-sidebar-actions a {
	color: var(--nsr-ink);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .04em;
	text-decoration: none;
}

.nsr-sidebar-actions a:hover {
	color: #064fee;
}

.nsr-sidebar-actions span {
	display: inline-grid;
	place-items: center;
	min-width: 17px;
	height: 17px;
	margin-left: 3px;
	border-radius: 50%;
	background: var(--nsr-ink);
	color: #fff;
	font-size: 9px;
}

.nsr-catalog-kicker {
	margin: 0 0 7px;
	color: var(--nsr-blue);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .13em;
}

.nsr-catalog-sidebar h2 {
	margin: 0 0 30px;
	font-size: 20px;
	letter-spacing: -.02em;
}

.nsr-filter-list {
	display: grid;
	gap: 3px;
}

.nsr-filter-entry {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: center;
}

.nsr-filter-entry.has-children {
	grid-template-columns: minmax(0, 1fr) 24px 24px;
	grid-template-areas:
		"label toggle count"
		"drawer drawer drawer";
}

.nsr-filter-entry.has-children > .nsr-pc-filter-drawer {
	grid-area: drawer;
	grid-column: 1 / -1;
}

.nsr-filter-count {
	grid-area: count;
	align-self: center;
	justify-self: end;
	color: #a2acba;
	font-size: 9px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	line-height: 1;
}

.nsr-filter-entry .nsr-pc-filter-toggle {
	grid-area: toggle;
	display: grid;
	width: 28px;
	height: 28px;
	padding: 0;
	place-items: center;
	border: 1px solid #d7e0ec;
	border-radius: 5px;
	color: #64748b;
	font-size: 17px;
	line-height: 1;
	transform: none;
	transition: transform .18s ease, border-color .18s ease, color .18s ease;
}

.nsr-filter-entry .nsr-pc-filter-toggle:hover,
.nsr-filter-entry .nsr-pc-filter-toggle.is-open {
	border-color: var(--nsr-blue);
	color: var(--nsr-blue);
	transform: none;
}

.nsr-filter-entry .nsr-pc-filter-toggle.is-open {
	transform: none;
}

.nsr-filter-entry .nsr-pc-filter-toggle i {
	display: block;
	width: 7px;
	height: 7px;
	transform: translateY(-2px) rotate(45deg);
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transition: transform .18s ease;
}

.nsr-filter-entry .nsr-pc-filter-toggle.is-open i {
	transform: translateY(2px) rotate(225deg);
}

.nsr-filter-list button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 8px 0;
	border: 0;
	background: transparent;
	color: #a2a9b3;
	font: inherit;
	font-size: 13px;
	font-weight: 800;
	text-align: left;
	cursor: pointer;
	transition: color .16s ease, transform .16s ease;
}

.nsr-filter-list button span {
	font-size: 10px;
}

.nsr-filter-list button:disabled {
	opacity: .45;
	cursor: default;
}

.nsr-filter-list button:hover,
.nsr-filter-list button.is-active {
	transform: translateX(4px);
	color: #064fee;
}

.nsr-filter-list > button:hover,
.nsr-filter-list > button.is-active {
	transform: none;
}

.nsr-system-filter {
	margin: 22px 0 18px;
	padding-top: 18px;
	border-top: 1px solid var(--nsr-line);
}

.nsr-pc-filter-drawer {
	max-height: min(58vh, 650px);
	margin: 8px 0 18px 8px;
	padding: 1px 0 8px 13px;
	overflow-y: auto;
	border-left: 1px solid #dbe4ef;
	scrollbar-width: thin;
}

.nsr-pc-filter-drawer[hidden] {
	display: none !important;
}

.nsr-system-filter > p {
	margin: 0 0 9px;
	color: #8a96a8;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .14em;
}

.nsr-system-filter button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
	margin: 0;
	padding: 8px 7px;
	border: 0;
	border-left: 2px solid transparent;
	background: transparent;
	color: #6f7c8f;
	font-family: inherit;
	font-size: 10px;
	font-weight: 700;
	text-align: left;
	cursor: pointer;
}

.nsr-system-filter button span {
	color: #a2acba;
	font-size: 9px;
}

.nsr-system-filter button:hover,
.nsr-system-filter button.is-active {
	border-left-color: var(--nsr-blue);
	background: #f3f7ff;
	color: var(--nsr-blue);
}

.nsr-system-filter button:disabled {
	opacity: .38;
	cursor: default;
}

.nsr-hardware-filters {
	margin: 18px 0;
	padding-top: 4px;
	border-top: 1px solid var(--nsr-line);
}

.nsr-hardware-filter-group {
	margin-top: 15px;
}

.nsr-hardware-filter-group > p {
	margin: 0 0 6px;
	color: #8a96a8;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .12em;
}

.nsr-hardware-filter-group button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	width: 100%;
	margin: 2px 0;
	padding: 6px 8px;
	border: 1px solid transparent;
	border-radius: 5px;
	background: transparent;
	color: #69778b;
	font-family: inherit;
	font-size: 9px;
	font-weight: 700;
	text-align: left;
	cursor: pointer;
}

.nsr-hardware-filter-group button span {
	color: #a2acba;
	font-size: 8px;
}

.nsr-hardware-filter-group button:hover,
.nsr-hardware-filter-group button.is-active {
	border-color: #cfe0ff;
	background: #f3f7ff;
	color: #064fee;
}

/* Compact nested PC filters */
.nsr-filter-entry .nsr-pc-filter-toggle {
	width: 24px;
	height: 24px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	font-size: 15px;
}

.nsr-filter-entry .nsr-pc-filter-toggle:hover,
.nsr-filter-entry .nsr-pc-filter-toggle.is-open {
	border: 0;
	background: transparent;
}

.nsr-filter-entry.has-children > [data-nsr-filter] {
	grid-area: label;
	min-width: 0;
	padding-right: 5px;
}

.nsr-filter-entry.has-children > [data-nsr-filter]:hover,
.nsr-filter-entry.has-children > [data-nsr-filter].is-active {
	transform: none;
}

.nsr-pc-filter-drawer {
	max-height: none;
	margin: 7px 0 12px 6px;
	padding: 1px 0 5px 11px;
	overflow: hidden;
}

.nsr-system-filter {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 3px;
	margin: 8px 0 10px;
	padding-top: 10px;
}

.nsr-system-filter > p {
	grid-column: 1 / -1;
	margin-bottom: 6px;
	color: #65748a;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .1em;
}

.nsr-system-filter button {
	padding: 5px 6px;
	font-size: 9px;
	font-weight: 650;
	line-height: 1.25;
}

.nsr-hardware-filters {
	margin: 8px 0;
	padding-top: 2px;
}

.nsr-hardware-filter-group {
	display: block;
	margin: 0;
	border-bottom: 1px solid var(--nsr-line);
}

.nsr-hardware-filter-group > summary {
	display: grid;
	grid-template-columns: 68px minmax(0, 1fr) 12px;
	gap: 7px;
	align-items: center;
	padding: 8px 4px;
	color: #7d899b;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .06em;
	cursor: pointer;
	list-style: none;
}

.nsr-hardware-filter-group > summary::-webkit-details-marker {
	display: none;
}

.nsr-hardware-filter-group > summary::after {
	content: "⌄";
	color: #8fa0b5;
	font-size: 12px;
	transition: transform .18s ease;
}

.nsr-hardware-filter-group[open] > summary::after {
	transform: rotate(180deg);
}

.nsr-hardware-filter-group > summary strong {
	min-width: 0;
	overflow: hidden;
	color: #1c58c7;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: 0;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.nsr-hardware-filter-options {
	padding: 0 3px 7px;
}

.nsr-hardware-filter-options button {
	font-size: 9px;
	font-weight: 650;
	overflow-wrap: anywhere;
}

.nsr-filter-empty {
	margin: 0;
	padding: 10px 4px;
	color: #9aa5b5;
	font-size: 9px;
	line-height: 1.45;
}

.nsr-dependent-filter-row {
	padding: 9px 3px;
	border-bottom: 1px solid var(--nsr-line);
}

.nsr-dependent-filter-row > p {
	margin: 0 0 7px;
	color: #65748a;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .09em;
}

.nsr-dependent-filter-row .nsr-hardware-filter-options {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	padding: 0;
}

.nsr-dependent-filter-row .nsr-hardware-filter-options button {
	width: auto;
	min-height: 27px;
	padding: 5px 8px;
	border: 1px solid #d9e2ef;
	border-radius: 5px;
	background: #fff;
	font-size: 9px;
	line-height: 1.2;
}

.nsr-dependent-filter-row .nsr-hardware-filter-options button.is-active {
	border-color: #9dc0ff;
	background: #edf4ff;
	color: var(--nsr-blue);
}

.nsr-dependent-filter-row .nsr-hardware-filter-options button:disabled {
	opacity: .38;
	cursor: default;
}

.nsr-dependent-filter-row .nsr-hardware-filter-options button[hidden] {
	display: none !important;
}

.nsr-filter-help {
	margin-top: 30px;
	color: #a2a9b3;
	font-size: 11px;
	line-height: 1.5;
	text-transform: uppercase;
}

.nsr-language-switch,
.nsr-rail-language {
	display: flex;
	align-items: center;
	gap: 5px;
	margin-top: 18px;
}

.nsr-language-switch a,
.nsr-rail-language a {
	padding: 4px 7px;
	border: 1px solid #cfd6e2;
	color: #647084;
	font-size: 9px;
	font-weight: 900;
	text-decoration: none;
}

.nsr-language-switch a.is-active,
.nsr-rail-language a.is-active {
	border-color: #064fee;
	background: #064fee;
	color: #fff;
}

.nsr-page-rail .nsr-rail-language {
	display: grid;
	gap: 3px;
	margin-top: auto;
}

.nsr-catalog-products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 38px 24px;
	min-height: 400px;
}

.nsr-catalog-product {
	display: block;
	min-width: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--nsr-ink);
	font: inherit;
	text-align: left;
	cursor: pointer;
	transition: opacity .22s ease, transform .22s ease, filter .22s ease;
}

.nsr-catalog-product[hidden] {
	display: none !important;
}

.nsr-catalog-product.is-dimmed {
	transform: scale(.96);
	opacity: .1;
	filter: grayscale(1);
}

.nsr-product-image {
	display: grid;
	place-items: center;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: #f1f2f3;
}

.nsr-product-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .32s cubic-bezier(.2, .8, .2, 1);
}

.nsr-catalog-product:hover:not(.is-dimmed) .nsr-product-image img {
	transform: scale(1.035) rotate(-.45deg);
}

.nsr-product-meta {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 15px;
	padding-top: 11px;
}

.nsr-product-meta strong {
	max-width: 72%;
	font-size: 13px;
	line-height: 1.25;
}

.nsr-product-meta > span {
	flex: none;
	color: var(--nsr-muted);
	font-size: 11px;
	text-align: right;
}

.nsr-quick-view {
	width: min(1040px, calc(100vw - 40px));
	height: min(1040px, calc(100vh - 24px));
	max-width: none;
	max-height: none;
	margin: auto;
	padding: 0;
	overflow: hidden;
	border: 2px solid #fff;
	border-radius: 0;
	background: #e9e9e9;
	box-shadow: 0 28px 80px rgba(0, 0, 0, .35);
	color: #0a0a0a;
}

.nsr-quick-view::backdrop {
	background: rgba(5, 8, 12, .62);
	backdrop-filter: blur(3px);
}

.nsr-modal-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 46px;
	padding-left: 18px;
	background: #163db7;
	color: #fff;
	font-size: 13px;
	letter-spacing: .06em;
}

.nsr-modal-bar button {
	align-self: stretch;
	width: 48px;
	border: 0;
	background: #fff;
	color: #163db7;
	font-size: 28px;
	font-weight: 400;
	cursor: pointer;
}

.nsr-modal-body {
	display: grid;
	grid-template-columns: 1.15fr .85fr;
	grid-template-rows: minmax(0, 1fr) auto;
	height: calc(100% - 46px);
	overflow: hidden;
}

.nsr-modal-visual {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr) auto;
	min-height: 0;
	align-items: center;
	padding: 20px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	background: #dedede;
}

.nsr-modal-photo-label {
	margin: 0 0 10px;
	color: #555;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .08em;
}

.nsr-modal-visual > img {
	width: 100%;
	height: 100%;
	min-height: 0;
	object-fit: contain;
}

.nsr-modal-thumbs {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	padding-top: 12px;
}

.nsr-modal-thumbs button {
	flex: 0 0 68px;
	height: 52px;
	padding: 2px;
	border: 1px solid transparent;
	background: #fff;
	cursor: pointer;
}

.nsr-modal-thumbs button.is-active {
	border-color: #163db7;
}

.nsr-modal-thumbs img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.nsr-modal-summary {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 38px;
	border-bottom: 1px solid #fff;
}

.nsr-modal-category {
	margin: 0 0 12px;
	color: #163db7;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.nsr-modal-pn {
	display: inline-block;
	margin: 0 0 12px;
	padding: 5px 8px;
	border: 1px solid #b9c8e3;
	color: #24446f;
	font-size: 9px;
	font-weight: 900;
	letter-spacing: .06em;
}

.nsr-modal-pn[hidden] {
	display: none;
}

.nsr-modal-summary h2 {
	margin: 0;
	font-size: clamp(27px, 3vw, 42px);
	line-height: 1.02;
	letter-spacing: -.045em;
}

.nsr-modal-price-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 28px 0;
}

.nsr-modal-price-row strong {
	font-size: 25px;
}

.nsr-modal-price-row span {
	padding: 7px 10px;
	border: 1px solid #111;
	font-size: 10px;
	font-weight: 800;
}

.nsr-modal-highlights {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 7px;
	margin: -10px 0 22px;
}

.nsr-modal-highlight {
	background: rgba(255, 255, 255, .58);
}

.nsr-modal-highlight strong {
	font-size: 9px;
}

.nsr-modal-highlight small {
	font-size: 7px;
}

.nsr-modal-link {
	align-self: flex-start;
	padding-bottom: 3px;
	border-bottom: 1px solid;
	color: #111;
	font-size: 12px;
	font-weight: 900;
	text-decoration: none;
}

.nsr-modal-panel {
	padding: 25px 28px 30px;
	border-right: 1px solid #fff;
	background: #e5e5e5;
}

.nsr-modal-panel h3 {
	margin: 0 0 18px;
	font-size: 13px;
	letter-spacing: .08em;
}

.nsr-modal-panel dl,
.nsr-modal-checks {
	margin: 0;
}

.nsr-modal-panel dl > div,
.nsr-modal-checks > div {
	display: grid;
	grid-template-columns: minmax(115px, .8fr) 1.2fr;
	gap: 16px;
	padding: 9px 0;
	border-top: 1px solid rgba(0, 0, 0, .14);
	font-size: 11px;
}

.nsr-modal-panel dt,
.nsr-modal-checks span {
	color: #646464;
}

.nsr-modal-panel dd {
	margin: 0;
	font-weight: 800;
	overflow-wrap: anywhere;
}

.nsr-modal-checks strong {
	font-weight: 700;
}

.nsr-modal-drive-list {
	display: grid;
	gap: 5px;
}

.nsr-modal-drive-list > span {
	display: grid;
	grid-template-columns: 235px max-content;
	gap: 8px;
	align-items: center;
	justify-content: start;
}

.nsr-modal-drive-list b {
	font-weight: 800;
}

.nsr-modal-drive-list small,
.nsr-modal-badges small {
	padding: 2px 6px;
	border: 1px solid rgba(20, 88, 219, .32);
	border-radius: 3px;
	background: rgba(20, 88, 219, .06);
	color: #1458db;
	font-size: 9px;
	font-weight: 800;
	white-space: nowrap;
}

.nsr-modal-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

.nsr-modal-checks strong.is-good {
	color: #07865a;
}

.nsr-modal-checks strong.is-warning {
	color: #a46d00;
}

.nsr-modal-checks strong.is-bad {
	color: #c93046;
}

@media (max-width: 700px) {
	.nsr-modal-drive-list > span {
		grid-template-columns: minmax(0, 1fr) max-content;
	}
}

html.nsr-modal-open {
	overflow: hidden;
}

@media (min-width: 2000px) {
	body.home main > .wp-block-group.alignfull {
		padding-top: 0 !important;
	}

	body.home .nsr-catalog-section {
		width: calc(100vw - 100px) !important;
		max-width: none !important;
		margin-top: 28px;
	}

	.nsr-header-inner {
		width: calc(100vw - 100px) !important;
		max-width: none !important;
	}

	.nsr-interactive-catalog {
		grid-template-columns: 380px minmax(0, 1fr);
		gap: 50px;
		min-height: calc(100vh - 150px);
	}

	.nsr-catalog-sidebar {
		top: 120px;
		padding: 10px 0 0 4px;
	}

	.nsr-catalog-kicker {
		font-size: 15px;
	}

	.nsr-catalog-brand {
		margin-bottom: 17px;
		font-size: 22px;
	}

	.nsr-sidebar-actions {
		margin-bottom: 58px;
	}

	.nsr-sidebar-actions a {
		font-size: 13px;
	}

	.nsr-catalog-sidebar h2 {
		margin-bottom: 40px;
		font-size: 27px;
	}

	.nsr-filter-list {
		gap: 8px;
	}

	.nsr-filter-list > button,
	.nsr-filter-entry > button[data-nsr-filter] {
		padding: 9px 0;
		font-size: 17px;
	}

	.nsr-filter-list > button span,
	.nsr-filter-entry > button[data-nsr-filter] span {
		font-size: 13px;
	}

	.nsr-filter-count,
	.nsr-filter-list > button .nsr-filter-count {
		color: #a2acba;
		font-size: 13px;
		font-weight: 700;
		line-height: 1;
	}

	.nsr-filter-help {
		margin-top: 42px;
		font-size: 14px;
	}

	.nsr-catalog-products {
		grid-template-columns: repeat(6, minmax(0, 1fr));
		align-content: start;
		gap: 70px 28px;
	}

	.nsr-catalog-product {
		position: relative;
	}

	.nsr-product-image {
		aspect-ratio: 1;
		padding: 10%;
		background: #fff;
		box-sizing: border-box;
	}

	.nsr-product-image img {
		object-fit: contain;
	}

	.nsr-product-meta {
		position: absolute;
		right: 8%;
		bottom: 4%;
		left: 8%;
		z-index: 2;
		padding: 10px 12px;
		background: rgba(255, 255, 255, .92);
		box-shadow: 0 8px 28px rgba(0, 0, 0, .08);
		opacity: 0;
		transform: translateY(5px);
		transition: opacity .18s ease, transform .18s ease;
	}

	.nsr-catalog-product:hover:not(.is-dimmed) .nsr-product-meta,
	.nsr-catalog-product:focus-visible .nsr-product-meta {
		opacity: 1;
		transform: translateY(0);
	}

	.nsr-quick-view {
		width: min(1600px, calc(100vw - 100px));
	}

	.nsr-modal-body {
		grid-template-columns: 1.2fr .8fr;
	}
}

@media (min-width: 3200px) {
	.nsr-catalog-products {
		grid-template-columns: repeat(8, minmax(0, 1fr));
		gap: 88px 34px;
	}
}

.wp-block-post-title,
.woocommerce-products-header__title,
.wp-block-query-title {
	letter-spacing: -.035em;
}

.woocommerce ul.products,
.wp-block-woocommerce-product-collection ul.wc-block-product-template {
	gap: 24px;
}

.woocommerce ul.products li.product,
.wc-block-product {
	overflow: hidden;
	border: 1px solid var(--nsr-line);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 8px 28px rgba(16, 24, 40, .06);
	transition: transform .2s ease, box-shadow .2s ease;
}

.woocommerce ul.products li.product:hover,
.wc-block-product:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 35px rgba(16, 24, 40, .11);
}

.woocommerce ul.products li.product img,
.wc-block-product img {
	aspect-ratio: 4 / 3;
	width: 100%;
	object-fit: cover;
	background: var(--nsr-surface);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button {
	margin-right: 18px;
	margin-left: 18px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	min-height: 2.8em;
	color: var(--nsr-ink);
	font-size: 18px;
	font-weight: 800;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price {
	color: var(--nsr-blue);
	font-weight: 900;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.wp-element-button {
	border-radius: 9px !important;
	background: var(--nsr-navy) !important;
	color: #fff !important;
	font-weight: 800 !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.wp-element-button:hover {
	background: var(--nsr-blue) !important;
}

.woocommerce div.product div.images img {
	border-radius: 16px;
	background: var(--nsr-surface);
}

.woocommerce div.product .summary {
	padding: 10px 0;
}

.single-product main {
	padding-right: clamp(30px, 3vw, 72px) !important;
	padding-left: clamp(78px, 4.2vw, 105px) !important;
}

.single-product main > .wp-block-columns.alignwide,
.single-product main > .wp-block-woocommerce-product-details.alignwide {
	width: 100% !important;
	max-width: none !important;
}

.single-product main > .wp-block-columns.alignwide {
	gap: clamp(44px, 5vw, 150px);
	align-items: start;
}

.single-product main > .wp-block-columns.alignwide > .wp-block-column {
	flex-basis: 0 !important;
	flex-grow: 1 !important;
	min-width: 0;
}

.single-product .wp-block-woocommerce-product-image-gallery,
.single-product .woocommerce-product-gallery {
	width: 100% !important;
	max-width: none !important;
}

.single-product .woocommerce-tabs,
.single-product .woocommerce-Tabs-panel,
.single-product .used-pc-builder {
	width: 100%;
	max-width: none;
}

.single-product .wp-block-post-title {
	max-width: 1400px;
	font-size: clamp(34px, 4.2vw, 62px);
	line-height: 1.08;
	text-wrap: balance;
}

.single-product .wc-tabs {
	display: none !important;
}

.single-product .woocommerce-Tabs-panel {
	display: block !important;
	margin-top: 45px !important;
}

.single-product .woocommerce-Tabs-panel > h2:first-child {
	display: none;
}

.used-pc-builder.pc-report-compact {
	overflow: hidden;
	margin: 28px 0 0;
	border: 1px solid var(--nsr-line);
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 8px 26px rgba(16, 24, 40, .05);
	font-family: "Manrope", "Noto Sans SC", sans-serif;
}

.pc-compact-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 15px 20px;
	background: #12233d;
	color: #fff;
}

.pc-compact-head > div:first-child > span {
	color: #68c5ff;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .12em;
}

.pc-compact-head h2 {
	margin: 3px 0 0;
	color: #fff;
	font-size: 23px;
	line-height: 1.1;
}

.pc-compact-head h2 small {
	margin-left: 8px;
	color: #aab9ce;
	font-size: 10px;
	font-weight: 600;
}

.pc-compact-head p {
	margin: 4px 0 0;
	color: #bec9d7;
	font-size: 11px;
}

.pc-compact-condition {
	min-width: 100px;
	padding: 7px 11px;
	border: 1px solid rgba(255, 255, 255, .25);
	text-align: center;
}

.pc-compact-condition span {
	display: block;
	color: #9eb0c7;
	font-size: 8px;
}

.pc-compact-condition strong {
	font-size: 13px;
}

.pc-condition-empty .pc-compact-condition {
	display: none;
}

.pc-inventory-list {
	padding: 10px 16px 15px;
	background: #20222b;
	color: #f7f8fb;
}

.pc-inventory-row {
	border-bottom: 1px solid rgba(255, 255, 255, .055);
}

.pc-inventory-row:last-child {
	border-bottom: 0;
}

.pc-inventory-row > summary,
.pc-inventory-static {
	display: grid;
	grid-template-columns: 30px 92px minmax(0, 1fr) 22px;
	gap: 12px;
	align-items: center;
	min-height: 54px;
	padding: 8px 2px;
	cursor: pointer;
	list-style: none;
	transition: background .16s ease;
}

.pc-inventory-row > summary::-webkit-details-marker {
	display: none;
}

.pc-inventory-row > summary:hover {
	background: rgba(255, 255, 255, .025);
}

.pc-inventory-static {
	grid-template-columns: 30px 92px minmax(0, 1fr);
}

.pc-inventory-icon {
	display: grid;
	place-items: center;
}

.pc-inventory-icon .pc-spec-icon {
	width: 24px;
	height: 24px;
}

.pc-inventory-label {
	color: #8991a2;
	font-size: 12px;
	letter-spacing: .08em;
}

.pc-inventory-summary {
	display: grid;
	gap: 3px;
	min-width: 0;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.35;
}

.pc-inventory-summary b {
	font-size: 13px;
	font-weight: 600;
}

.pc-inventory-summary small {
	color: #9aa2b2;
	font-size: 10px;
	font-weight: 500;
}

.pc-inventory-summary > span {
	display: block;
}

.pc-drive-summary {
	display: grid !important;
	grid-template-columns: 235px max-content;
	gap: 8px;
	align-items: center;
	justify-content: start;
}

.pc-drive-summary small {
	padding: 2px 6px;
	border: 1px solid rgba(24, 167, 255, .3);
	border-radius: 3px;
	background: rgba(24, 167, 255, .08);
	color: #68c5ff;
	font-size: 9px;
	font-weight: 700;
	white-space: nowrap;
}

.pc-connectivity-badges {
	display: flex !important;
	flex-wrap: wrap;
	gap: 6px;
}

.pc-connectivity-badges small {
	padding: 3px 7px;
	border: 1px solid rgba(154, 140, 255, .34);
	border-radius: 3px;
	background: rgba(154, 140, 255, .09);
	color: #b9aeff;
	font-size: 9px;
	font-weight: 700;
	white-space: nowrap;
}

@media (max-width: 700px) {
	.pc-drive-summary {
		grid-template-columns: minmax(0, 1fr) max-content;
	}
}

.pc-inventory-arrow {
	width: 10px;
	height: 10px;
	border-right: 2px solid #20a8ff;
	border-bottom: 2px solid #20a8ff;
	transform: rotate(45deg) translateY(-3px);
	transition: transform .18s ease;
}

.pc-inventory-row[open] .pc-inventory-arrow {
	transform: rotate(225deg) translate(-2px, -2px);
}

.pc-inventory-details {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 28px;
	margin: 0 20px 12px 122px;
	padding: 14px 18px;
	border: 1px solid rgba(255, 255, 255, .055);
	border-radius: 4px;
	background: #373943;
	box-shadow: 0 12px 28px rgba(0, 0, 0, .18);
}

.pc-inventory-details > div {
	display: grid;
	grid-template-columns: minmax(105px, .7fr) 1.3fr;
	gap: 14px;
	padding: 7px 0;
	border-bottom: 1px solid rgba(255, 255, 255, .04);
}

.pc-inventory-details > div:nth-last-child(-n+2) {
	border-bottom: 0;
}

.pc-inventory-details span {
	color: #9299aa;
	font-size: 11px;
}

.pc-inventory-details strong {
	color: #fff;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.45;
	overflow-wrap: anywhere;
}

.pc-inventory-check > summary .pc-inventory-summary b,
.pc-inventory-details .pc-status-good strong {
	color: #31d9a1;
}

.pc-inventory-details .pc-status-warning strong {
	color: #f3c84b;
}

.pc-inventory-details .pc-status-bad strong {
	color: #ff6678;
}

.pc-smart-metrics {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.pc-smart-metrics > span {
	display: grid;
	gap: 2px;
	min-width: 98px;
	padding: 6px 8px;
	border: 1px solid rgba(255, 255, 255, .07);
	border-radius: 3px;
	background: rgba(255, 255, 255, .025);
}

.pc-smart-metrics small {
	color: #9299aa;
	font-size: 9px;
	font-weight: 500;
}

.pc-smart-metrics b {
	color: #fff;
	font-size: 11px;
	font-weight: 600;
}

.pc-smart-metrics > span.is-good b {
	color: #31d9a1;
}

.pc-inventory-gpu .pc-spec-icon,
.pc-inventory-ram .pc-spec-icon {
	color: #12ddb0;
}

.pc-inventory-mb .pc-spec-icon {
	color: #f1b51c;
}

.pc-inventory-storage .pc-spec-icon,
.pc-inventory-cpu .pc-spec-icon,
.pc-inventory-os .pc-spec-icon,
.pc-inventory-check .pc-spec-icon {
	color: #18a7ff;
}

.pc-inventory-other .pc-spec-icon {
	color: #9a8cff;
}

@media (max-width: 700px) {
	.pc-inventory-list {
		padding: 8px 12px 12px;
	}

	.pc-inventory-row > summary {
		grid-template-columns: 26px 72px minmax(0, 1fr) 18px;
		gap: 8px;
	}

	.pc-inventory-static {
		grid-template-columns: 26px 72px minmax(0, 1fr);
		gap: 8px;
	}

	.pc-inventory-label {
		font-size: 10px;
	}

	.pc-inventory-details {
		grid-template-columns: 1fr;
		margin: 0 0 10px 34px;
		padding: 10px 13px;
	}

	.pc-inventory-details > div {
		grid-template-columns: 90px 1fr;
	}
}

.pc-compact-photos {
	display: flex;
	align-items: center;
	gap: 8px;
	overflow-x: auto;
	padding: 9px 14px;
	border-bottom: 1px solid var(--nsr-line);
	background: #f8f9fb;
}

.pc-compact-photos > span {
	flex: none;
	margin-right: 4px;
	color: var(--nsr-muted);
	font-size: 8px;
	font-weight: 800;
	letter-spacing: .06em;
}

.pc-compact-photos img {
	flex: 0 0 66px;
	width: 66px !important;
	height: 48px !important;
	border-radius: 4px;
	object-fit: cover;
	background: #eef1f4;
}

.pc-highlight-strip {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 7px;
	padding: 10px 14px;
	border-bottom: 1px solid var(--nsr-line);
	background: #fff;
}

.pc-highlight-card,
.nsr-modal-highlight {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	padding: 8px 9px;
	border: 1px solid #dce8ff;
	background: #f3f7ff;
}

.pc-highlight-symbol,
.nsr-highlight-symbol {
	display: inline-grid;
	flex: 0 0 25px;
	place-items: center;
	width: 25px;
	height: 25px;
	border-radius: 50%;
	background: #dbe8ff;
	color: #125adb;
	font-size: 13px;
	font-weight: 900;
}

.pc-highlight-symbol:empty::before,
.nsr-highlight-symbol:empty::before {
	content: "CPU";
	font-size: 8px;
}

.pc-highlight-card > span:last-child,
.nsr-modal-highlight > span:last-child {
	display: grid;
	min-width: 0;
}

.pc-appearance-notice {
	margin: 18px 0 20px;
	padding: 13px 15px;
	border-left: 3px solid #e39a22;
	background: #fff8e9;
}

.pc-appearance-notice > span {
	display: block;
	margin-bottom: 6px;
	color: #6b4810;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .035em;
}

.pc-appearance-notice > span small {
	color: #a37d43;
	font-size: 8px;
}

.pc-appearance-notice p {
	margin: 0;
	color: #332b20;
	font-size: 13px;
	line-height: 1.65;
}

.single-product form.cart .quantity {
	display: none !important;
}

.single-product .wp-block-post-excerpt {
	display: none;
}

.nsr-paid-addons {
	display: grid;
	gap: 10px;
	margin: 20px 0 18px;
	padding: 15px;
	border: 1px solid #d9dee8;
	background: #f8fafc;
}

.nsr-paid-addons legend {
	padding: 0 7px;
	color: var(--nsr-ink);
	font-size: 13px;
	font-weight: 900;
}

.nsr-paid-addons legend small {
	color: var(--nsr-muted);
	font-size: 8px;
}

.nsr-addon-group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 9px 16px;
}

.nsr-addon-group > span {
	flex: 0 0 100%;
	font-size: 11px;
	font-weight: 800;
}

.nsr-addon-group label {
	flex: 1 1 130px;
}

.nsr-addon-group label,
.nsr-addon-shipping {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 0;
	font-size: 11px;
	cursor: pointer;
}

.nsr-addon-group input,
.nsr-addon-shipping input {
	accent-color: var(--nsr-blue);
}

.nsr-addon-group strong,
.nsr-addon-shipping > strong {
	color: var(--nsr-blue);
	white-space: nowrap;
}

.nsr-addon-shipping {
	padding-top: 10px;
	border-top: 1px solid #d9dee8;
}

.nsr-addon-shipping > span {
	display: grid;
	flex: 1;
}

.nsr-addon-shipping b {
	font-size: 11px;
}

.nsr-addon-shipping small {
	margin-top: 2px;
	color: var(--nsr-muted);
	font-size: 9px;
}

.nsr-addon-gpu-service {
	position: relative;
	align-items: flex-start;
	margin-top: 2px;
	padding: 14px 14px 14px 13px;
	border: 1px solid #b9c9dd;
	border-radius: 9px;
	background:
		linear-gradient(135deg, rgba(6,79,238,.08), rgba(42,189,200,.08)),
		#fff;
	box-shadow: 0 9px 24px rgba(16,40,72,.07);
}

.nsr-addon-gpu-service::before {
	content: "";
	position: absolute;
	inset: -1px auto -1px -1px;
	width: 3px;
	border-radius: 9px 0 0 9px;
	background: linear-gradient(180deg, var(--nsr-blue), #23b9c8);
}

.nsr-addon-gpu-service input {
	flex: 0 0 auto;
	margin-top: 3px;
}

.nsr-addon-gpu-service b {
	color: #102d52;
	font-size: 12px;
	line-height: 1.35;
}

.nsr-addon-gpu-service small {
	max-width: 760px;
	margin-top: 5px;
	color: #53647a;
	font-size: 10px;
	line-height: 1.55;
}

.nsr-addon-gpu-service > strong {
	padding: 3px 7px;
	border: 1px solid rgba(6,79,238,.2);
	border-radius: 5px;
	background: rgba(255,255,255,.75);
	font-size: 12px;
}

.pc-highlight-card strong,
.nsr-modal-highlight strong {
	font-size: 9px;
	line-height: 1.2;
}

.pc-highlight-card small,
.nsr-modal-highlight small {
	overflow: hidden;
	margin-top: 2px;
	color: #667085;
	font-size: 7px;
	line-height: 1.25;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.pc-highlight-card.is-emerald,
.nsr-modal-highlight.is-emerald {
	border-color: #c9eadc;
	background: #effaf5;
}

.pc-highlight-card.is-emerald .pc-highlight-symbol,
.nsr-modal-highlight.is-emerald .nsr-highlight-symbol {
	background: #d5f3e5;
	color: #087a4f;
}

.pc-highlight-card.is-violet,
.nsr-modal-highlight.is-violet {
	border-color: #dfd5fa;
	background: #f7f3ff;
}

.pc-highlight-card.is-violet .pc-highlight-symbol,
.nsr-modal-highlight.is-violet .nsr-highlight-symbol {
	background: #e9e0ff;
	color: #6841c6;
}

.pc-highlight-card.is-gold,
.nsr-modal-highlight.is-gold {
	border-color: #f2dfae;
	background: #fff9e9;
}

.pc-highlight-card.is-gold .pc-highlight-symbol,
.nsr-modal-highlight.is-gold .nsr-highlight-symbol {
	background: #f9e9b9;
	color: #8a6200;
}

.pc-compact-columns {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(340px, .65fr);
	align-items: stretch;
}

.pc-compact-panel {
	min-width: 0;
	padding: 16px 18px 18px;
	border-right: 1px solid var(--nsr-line);
}

.pc-compact-panel:last-child {
	border-right: 0;
}

.pc-compact-checks {
	display: flex;
	flex-direction: column;
}

.pc-compact-checks > div {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 8px;
}

.pc-compact-panel h3 {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 10px;
	font-size: 10px;
	letter-spacing: .06em;
}

.pc-spec-icon {
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	color: #1488e8;
}

.pc-compact-panel dl {
	margin: 0;
}

.pc-compact-spec-row {
	display: grid;
	grid-template-columns: minmax(145px, .55fr) 1.45fr;
	gap: 14px;
	align-items: center;
	min-height: 42px;
	padding: 6px 0;
	border-top: 1px solid var(--nsr-line);
}

.pc-compact-spec-row dt {
	display: flex;
	align-items: center;
	gap: 9px;
	color: #667085;
	font-size: 10px;
}

.pc-compact-spec-row dd {
	margin: 0;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.45;
	overflow-wrap: anywhere;
}

.pc-primary-value {
	display: block;
}

.pc-part-code {
	display: block;
	margin-top: 4px;
	color: #8f97a6;
	font-size: 9px;
	font-weight: 600;
}

.pc-memory-list {
	display: grid;
	gap: 6px;
}

.pc-memory-module {
	display: grid;
	grid-template-columns: 68px 1fr;
	gap: 9px;
	align-items: center;
	padding: 7px 9px;
	border: 1px solid rgba(255, 255, 255, .09);
	border-radius: 6px;
	background: rgba(255, 255, 255, .035);
}

.pc-memory-module b {
	color: #43d69b;
	font-size: 10px;
	white-space: nowrap;
}

.pc-memory-module span {
	font-size: 10px;
	font-weight: 700;
}

.pc-feature-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

.pc-feature-chips > span {
	padding: 3px 7px;
	border: 1px solid rgba(104, 197, 255, .28);
	border-radius: 999px;
	background: rgba(34, 167, 240, .08);
	color: #d9efff;
	font-size: 9px;
	font-weight: 700;
}

.pc-compact-check-row strong {
	overflow-wrap: anywhere;
}

.pc-compact-check-row {
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	justify-content: center;
	gap: 6px;
	min-width: 0;
	min-height: 42px;
	padding: 7px 2px;
	border: 0;
	border-top: 1px solid var(--nsr-line);
	border-radius: 0;
	font-size: 10px;
}

.pc-spec-details {
	width: 100%;
}

.pc-spec-details summary {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
	align-items: center;
	cursor: pointer;
	list-style: none;
}

.pc-spec-details summary::-webkit-details-marker {
	display: none;
}

.pc-spec-details summary > span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.pc-spec-details summary small {
	padding: 3px 7px;
	border: 1px solid rgba(104, 197, 255, .25);
	border-radius: 999px;
	color: #68c5ff;
	font-size: 8px;
	font-weight: 800;
	white-space: nowrap;
}

.pc-spec-details[open] summary {
	margin-bottom: 9px;
}

.pc-spec-details[open] summary > span {
	white-space: normal;
}

.pc-spec-details[open] summary small::after {
	content: " ▲";
}

.pc-spec-expanded {
	padding: 10px;
	border-radius: 6px;
	background: rgba(255, 255, 255, .035);
}

@media (max-width: 860px) {
	.pc-compact-columns {
		grid-template-columns: 1fr;
	}

	.pc-compact-panel {
		border-right: 0;
		border-bottom: 1px solid var(--nsr-line);
	}

	.pc-compact-panel:last-child {
		border-bottom: 0;
	}

	.pc-compact-checks > div {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.single-product .wp-block-post-title {
		font-size: clamp(30px, 10vw, 42px);
	}

	.pc-compact-head {
		align-items: flex-start;
		padding: 16px;
	}

	.pc-compact-condition {
		min-width: 82px;
	}

	.pc-highlight-strip {
		grid-template-columns: 1fr;
	}

	.pc-compact-spec-row {
		grid-template-columns: 1fr;
		gap: 5px;
	}

	.pc-compact-checks > div {
		grid-template-columns: 1fr;
	}

	.pc-memory-module {
		grid-template-columns: 60px 1fr;
	}
}

@media (max-width: 780px) {
	.nsr-filter-entry {
		flex: none;
	}

	.nsr-filter-entry.has-children {
		grid-template-columns: minmax(0, auto) 24px 24px;
	}

	.nsr-pc-filter-drawer {
		max-height: none;
		margin: 8px -18px 16px;
		padding: 1px 18px 8px;
		overflow: visible;
		border-left: 0;
		border-top: 1px solid var(--nsr-line);
	}

	.nsr-system-filter {
		display: flex;
		gap: 7px;
		margin: 12px -18px 16px;
		padding: 12px 18px 4px;
		overflow-x: auto;
	}

	.nsr-system-filter > p {
		flex: none;
		align-self: center;
		margin: 0 3px 0 0;
	}

	.nsr-system-filter button {
		flex: none;
		width: auto;
		padding: 8px 11px;
		border: 1px solid var(--nsr-line);
		border-radius: 99px;
		white-space: nowrap;
	}

	.nsr-system-filter button:hover,
	.nsr-system-filter button.is-active {
		border-color: var(--nsr-blue);
		background: var(--nsr-blue);
		color: #fff;
	}

	.nsr-hardware-filters {
		margin: 10px -18px 18px;
		padding: 0 18px 4px;
		overflow-x: auto;
	}

	.nsr-hardware-filter-group {
		display: block;
		margin: 0;
	}

	.nsr-hardware-filter-group > summary {
		display: grid;
	}

	.nsr-hardware-filter-group button {
		flex: none;
		width: auto;
		padding: 7px 10px;
		border-color: var(--nsr-line);
		border-radius: 99px;
		white-space: nowrap;
	}

	.nsr-hardware-filter-options {
		display: flex;
		gap: 6px;
		overflow-x: auto;
	}
}

/* Authenticated account layout: explicit columns, no float or implicit placement. */
.nsr-account-authenticated.woocommerce-account main .wp-block-post-title {
	margin-bottom: 34px;
}

.nsr-account-authenticated.woocommerce-account .entry-content > .woocommerce {
	display: grid !important;
	grid-template-columns: 260px minmax(0, 1fr) !important;
	grid-template-rows: auto !important;
	gap: clamp(30px, 4vw, 58px) !important;
	align-items: start !important;
}

.nsr-account-authenticated.woocommerce-account .woocommerce-MyAccount-navigation {
	position: sticky;
	top: 28px;
	grid-column: 1 !important;
	grid-row: 1 !important;
	align-self: start !important;
	float: none !important;
	box-sizing: border-box;
	width: 260px !important;
	min-width: 0 !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
}

.nsr-account-authenticated.woocommerce-account .woocommerce-MyAccount-navigation ul {
	display: block !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 10px !important;
}

.nsr-account-authenticated.woocommerce-account .woocommerce-MyAccount-navigation li {
	display: block !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 0 3px !important;
	padding: 0 !important;
}

.nsr-account-authenticated.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: flex !important;
	min-height: 44px !important;
	padding: 0 14px !important;
}

.nsr-account-authenticated.woocommerce-account .woocommerce-MyAccount-content {
	grid-column: 2 !important;
	grid-row: 1 !important;
	align-self: start !important;
	float: none !important;
	box-sizing: border-box;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 4px 0 0 !important;
}

.nsr-account-authenticated.woocommerce-account .woocommerce-MyAccount-content > *:first-child {
	margin-top: 0 !important;
}

@media (max-width: 780px) {
	.nsr-account-authenticated.woocommerce-account .entry-content > .woocommerce {
		display: block !important;
	}

	.nsr-account-authenticated.woocommerce-account .woocommerce-MyAccount-navigation {
		position: static;
		width: 100% !important;
		margin-bottom: 24px !important;
	}

	.nsr-account-authenticated.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: flex !important;
	}
}

/* Custom account template: no WooCommerce form-row layout in the action area */
.woocommerce-account .nsr-login-actions,
.woocommerce-account .nsr-register-actions {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 18px;
	width: 100%;
	margin: 28px 0 22px;
	padding: 0;
}

.woocommerce-account .nsr-login-actions .woocommerce-form-login__submit,
.woocommerce-account .nsr-login-actions .woocommerce-form-login__rememberme,
.woocommerce-account .nsr-register-actions .woocommerce-form-register__submit {
	position: static !important;
	float: none !important;
	flex: none !important;
	width: auto !important;
	margin: 0 !important;
	transform: none !important;
}

.woocommerce-account .nsr-login-actions .woocommerce-form-login__rememberme {
	display: inline-flex !important;
	align-items: center;
	gap: 10px;
	min-height: 48px;
	white-space: nowrap;
}

.woocommerce-account .nsr-login-actions .woocommerce-form-login__rememberme input {
	flex: none;
	width: 18px;
	height: 18px;
	margin: 0;
}

@media (max-width: 560px) {
	.woocommerce-account .nsr-login-actions {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
	}
}

.pc-compact-check-row > span {
	color: #667085;
}

.pc-compact-check-row strong {
	font-size: 10px;
	line-height: 1.4;
}

.pc-compact-check-row i {
	margin-right: 6px;
	color: #0da56b;
	font-style: normal;
}

.pc-report-whole .pc-compact-head {
	background: #20222d;
}

.pc-report-whole .pc-compact-columns {
	background: #282a36;
	color: #f5f7fa;
}

.pc-report-whole .pc-compact-panel {
	border-color: rgba(255, 255, 255, .08);
}

.pc-report-whole .pc-compact-check-row {
	border-color: rgba(255, 255, 255, .08);
	background: transparent;
}

.pc-report-whole .pc-compact-spec-row,
.pc-report-whole .pc-compact-check-row {
	border-color: rgba(255, 255, 255, .08);
}

.pc-report-whole .pc-compact-spec-row dt,
.pc-report-whole .pc-compact-check-row > span {
	color: #aeb3bf;
}

.pc-report-whole .pc-icon-gpu,
.pc-report-whole .pc-icon-ram {
	color: #20d28a;
}

.pc-report-whole .pc-icon-mb,
.pc-report-whole .pc-icon-psu {
	color: #f5b51b;
}

.pc-report-whole .pc-icon-storage,
.pc-report-whole .pc-icon-os {
	color: #22a7f0;
}

.pc-report-whole .pc-icon-cooler,
.pc-report-whole .pc-icon-case {
	color: #b98cff;
}

.single-product main > .wp-block-columns .pc-report-compact {
	margin-top: 24px;
}

.single-product main > .wp-block-columns .pc-report-compact .pc-compact-columns {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(250px, .65fr);
}

.single-product main > .wp-block-columns .pc-report-compact .pc-compact-panel {
	border-right: 1px solid var(--nsr-line);
	border-bottom: 0;
}

@media (max-width: 700px) {
	.single-product main > .wp-block-columns .pc-report-compact .pc-compact-columns {
		grid-template-columns: 1fr;
	}

	.single-product main > .wp-block-columns .pc-report-compact .pc-compact-panel {
		border-right: 0;
		border-bottom: 1px solid var(--nsr-line);
	}
}

@media (min-width: 2000px) {
	.single-product main > .wp-block-columns .pc-appearance-notice > span {
		font-size: 12px;
	}

	.single-product main > .wp-block-columns .pc-appearance-notice p {
		font-size: 14px;
	}

	.single-product main > .wp-block-columns .pc-report-compact .pc-compact-head {
		padding: 18px 22px;
	}

	.single-product main > .wp-block-columns .pc-report-compact .pc-compact-head > div:first-child > span {
		font-size: 13px;
	}

	.single-product main > .wp-block-columns .pc-report-compact .pc-compact-head h2 {
		font-size: 27px;
	}

	.single-product main > .wp-block-columns .pc-report-compact .pc-compact-head h2 small,
	.single-product main > .wp-block-columns .pc-report-compact .pc-compact-head p {
		font-size: 14px;
	}

	.single-product main > .wp-block-columns .pc-report-compact .pc-compact-condition span {
		font-size: 10px;
	}

	.single-product main > .wp-block-columns .pc-report-compact .pc-compact-condition strong {
		font-size: 16px;
	}

	.single-product main > .wp-block-columns .pc-report-compact .pc-highlight-strip {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding: 11px 16px;
	}

	.single-product main > .wp-block-columns .pc-report-compact .pc-highlight-card {
		padding: 9px 10px;
	}

	.single-product main > .wp-block-columns .pc-report-compact .pc-highlight-card strong {
		font-size: 14px;
	}

	.single-product main > .wp-block-columns .pc-report-compact .pc-highlight-card small {
		font-size: 12px;
	}

	.single-product main > .wp-block-columns .pc-report-compact .pc-compact-columns {
		display: grid;
	}

	.single-product main > .wp-block-columns .pc-report-compact .pc-compact-panel {
		padding: 18px 20px 22px;
		border-right: 1px solid var(--nsr-line);
		border-bottom: 0;
	}

	.single-product main > .wp-block-columns .pc-report-compact .pc-compact-panel h3 {
		font-size: 13px;
	}

	.single-product main > .wp-block-columns .pc-report-compact .pc-compact-spec-row,
	.single-product main > .wp-block-columns .pc-report-compact .pc-compact-check-row {
		padding: 8px 0;
	}

	.single-product main > .wp-block-columns .pc-report-compact .pc-compact-spec-row dt,
	.single-product main > .wp-block-columns .pc-report-compact .pc-compact-check-row,
	.single-product main > .wp-block-columns .pc-report-compact .pc-compact-check-row strong {
		font-size: 13px;
	}

	.single-product main > .wp-block-columns .pc-report-compact .pc-compact-spec-row dd {
		font-size: 14px;
	}

	.single-product main > .wp-block-columns .single_add_to_cart_button {
		font-size: 17px !important;
	}

	.single-product main > .wp-block-columns .nsr-paid-addons legend,
	.single-product main > .wp-block-columns .nsr-addon-group > span,
	.single-product main > .wp-block-columns .nsr-addon-group label,
	.single-product main > .wp-block-columns .nsr-addon-shipping b {
		font-size: 13px;
	}

	.single-product main > .wp-block-columns .nsr-addon-shipping small {
		font-size: 11px;
	}

	.single-product main > .wp-block-columns .pc-report-compact .pc-compact-panel:last-child {
		border-right: 0;
	}
}

.woocommerce-breadcrumb {
	color: var(--nsr-muted) !important;
	font-size: 13px !important;
}

.nsr-site-footer {
	margin-block-start: 64px;
	padding: 0 clamp(24px, 3.5vw, 70px);
	border-top: 1px solid var(--nsr-line);
	background: #fff;
	color: var(--nsr-ink);
}

.nsr-site-footer a {
	color: var(--nsr-ink);
	text-decoration: none;
}

.nsr-site-footer a:hover {
	color: #064fee;
}

.nsr-footer-main {
	width: 100% !important;
	max-width: none !important;
	min-height: 150px;
	padding: 30px 0 25px;
}

.nsr-footer-brand {
	min-width: 300px;
}

.nsr-footer-brand h2 {
	margin: 0;
	color: var(--nsr-ink);
	font-size: 20px;
	font-weight: 800;
	letter-spacing: -.035em;
}

.nsr-footer-brand p {
	margin: 4px 0 0;
	color: var(--nsr-muted);
	font-size: 10px;
}

.nsr-footer-brand .nsr-footer-legal {
	margin-top: 10px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .055em;
	line-height: 1.65;
}

.nsr-footer-brand .nsr-footer-email {
	margin-top: 8px;
	font-size: 11px;
	font-weight: 800;
}

/* Quick view purchase hierarchy */
.nsr-modal-summary {
	justify-content: flex-start;
	padding: clamp(28px, 3vw, 48px);
}

.nsr-quick-view {
	width: min(1500px, calc(100vw - 60px));
}

.nsr-modal-body {
	grid-template-columns: 1.05fr .95fr;
}

.nsr-modal-category {
	margin-bottom: 9px;
	font-size: 12px;
	letter-spacing: .13em;
}

.nsr-modal-seller {
	margin: 0 0 15px;
	font-size: 13px;
}

.nsr-modal-summary h2 {
	max-width: 760px;
	font-size: clamp(32px, 2.65vw, 44px);
	font-weight: 500;
	letter-spacing: -.06em;
	line-height: .98;
}

.nsr-modal-price-row {
	margin: 20px 0 18px;
}

.nsr-modal-price-row strong {
	font-size: 27px;
	letter-spacing: -.025em;
}

.nsr-modal-highlights {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	margin: 0 0 20px;
}

.nsr-modal-highlight {
	box-sizing: border-box;
	min-height: 70px;
	padding: 10px;
}

.nsr-modal-highlight strong {
	font-size: 10px;
}

.nsr-modal-highlight small {
	font-size: 8px;
	white-space: normal;
}

.nsr-modal-actions {
	display: grid;
	gap: 10px;
	margin-top: auto;
}

.nsr-modal-link {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 2px 14px;
	width: 100%;
	box-sizing: border-box;
	padding: 13px 15px;
	border: 2px solid #163db7;
	background: #fff;
	color: #102c7d;
	text-decoration: none;
}

.nsr-modal-link span {
	font-size: 13px;
	font-weight: 900;
	letter-spacing: .035em;
}

.nsr-modal-link small {
	grid-column: 1;
	color: #667085;
	font-size: 9px;
	font-weight: 600;
}

.nsr-modal-link b {
	grid-row: 1 / span 2;
	grid-column: 2;
	font-size: 24px;
	font-weight: 400;
	transition: transform .18s ease;
}

.nsr-modal-link:hover b {
	transform: translateX(4px);
}

.nsr-modal-purchase {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 9px;
}

.nsr-modal-cart,
.nsr-modal-buy {
	display: grid;
	place-items: center;
	min-height: 46px;
	padding: 0 15px;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .045em;
	text-decoration: none;
}

.nsr-modal-cart {
	border: 1px solid #101828;
	background: transparent;
	color: #101828;
}

.nsr-modal-buy {
	border: 1px solid #163db7;
	background: #163db7;
	color: #fff;
}

.nsr-modal-cart:hover,
.nsr-modal-buy:hover {
	transform: translateY(-1px);
}

.nsr-modal-panel h3 {
	font-size: 14px;
}

.nsr-modal-panel dl > div,
.nsr-modal-checks > div {
	font-size: 12px;
	line-height: 1.4;
}

/* Product-page purchase actions */
.single-product form.cart {
	display: flex !important;
	flex-wrap: wrap;
	gap: 10px;
}

.single-product form.cart .nsr-paid-addons {
	flex: 0 0 100%;
	box-sizing: border-box;
}

.single-product form.cart .single_add_to_cart_button,
.single-product form.cart .nsr-buy-now-button {
	flex: 1 1 190px;
	min-height: 52px;
	margin: 0 !important;
	border-radius: 0 !important;
	font-size: 14px !important;
	font-weight: 900 !important;
	letter-spacing: .05em;
}

.single-product form.cart .nsr-buy-now-button {
	border: 1px solid #064fee !important;
	background: #064fee !important;
	color: #fff !important;
}

/* Keep optional services visually attached to their parent cart item. */
.wc-block-cart-items__row .wc-block-components-product-details {
	position: relative;
	margin: 13px 0 0 18px !important;
	padding: 10px 0 2px 16px;
	border-left: 2px solid #1672d8;
}

.wc-block-cart-items__row .wc-block-components-product-details::before {
	content: "OPTIONAL SERVICES";
	display: none;
	margin-bottom: 8px;
	color: #1672d8;
	font-size: 9px;
	font-weight: 900;
	letter-spacing: .12em;
}

.wc-block-cart-items__row .wc-block-components-product-details:has(> .wc-block-components-product-details__base-product)::before {
	display: block;
}

.wc-block-cart-items__row .wc-block-components-product-details > li {
	display: block !important;
	margin: 5px 0;
	font-size: 12px;
	line-height: 1.4;
}

.wc-block-cart-items__row .wc-block-components-product-details > li::after {
	content: none !important;
}

.wc-block-cart-items__row .wc-block-components-product-details > span {
	display: block !important;
	margin: 5px 0;
	font-size: 12px;
	line-height: 1.4;
}

.wc-block-cart-items__row .wc-block-components-product-details > span > [aria-hidden="true"] {
	display: none !important;
}

.wc-block-cart-items__row .wc-block-components-product-details > .wc-block-components-product-details__seller {
	margin-top: 9px;
	padding-top: 8px;
	border-top: 1px solid #dce3eb;
}

@media (max-width: 780px) {
	.nsr-modal-highlights {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nsr-modal-summary h2 {
		font-size: clamp(31px, 10vw, 44px);
	}

	.nsr-modal-purchase {
		grid-template-columns: 1fr;
	}

	.single-product form.cart .single_add_to_cart_button,
	.single-product form.cart .nsr-buy-now-button {
		flex-basis: 100%;
	}
}

.nsr-footer-links {
	gap: clamp(18px, 2.2vw, 38px) !important;
}

.nsr-footer-links .wp-block-navigation-item__content,
.nsr-footer-account a {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .05em;
}

.nsr-footer-account {
	gap: 18px;
}

.nsr-footer-account p {
	margin: 0;
}

.nsr-footer-note {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 12px 0 16px !important;
	border-top: 1px solid var(--nsr-line);
	color: #8a94a3;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: .07em;
}

.nsr-footer-note p {
	margin: 0;
}

@media (max-width: 780px) {
	.nsr-addon-group {
		grid-template-columns: 1fr;
	}

	.nsr-addon-group > span {
		margin-bottom: 2px;
	}

	.nsr-site-footer {
		margin-block-start: 42px;
		padding: 0 18px 70px;
	}

	.nsr-footer-main {
		display: grid !important;
		grid-template-columns: 1fr auto;
		gap: 20px;
		padding: 24px 0 18px;
	}

	.nsr-footer-brand {
		grid-column: 1 / -1;
		min-width: 0;
	}

	.nsr-footer-links {
		justify-content: flex-start !important;
	}

	.nsr-footer-links .wp-block-navigation__container {
		display: grid;
		grid-template-columns: repeat(3, auto);
		gap: 10px 18px;
	}

	.nsr-footer-account {
		align-items: flex-start;
	}

	.nsr-page-rail {
		top: auto;
		right: 8px;
		bottom: 8px;
		left: 8px;
		flex-direction: row;
		justify-content: space-around;
		width: auto;
		padding: 5px;
		transform: none;
	}

	.nsr-page-rail a {
		flex: 1;
		padding: 9px 4px;
		font-size: 9px;
	}

	.nsr-page-rail span {
		display: inline;
	}

	.single-product main {
		padding-right: 18px !important;
		padding-left: 18px !important;
	}

	.single-product main > .wp-block-columns.alignwide {
		display: block;
		gap: 28px;
	}

	.single-product main > .wp-block-columns.alignwide > .wp-block-column {
		width: 100%;
		margin-bottom: 32px;
	}

	.pc-compact-columns {
		display: block;
	}

	.pc-highlight-strip,
	.nsr-modal-highlights {
		grid-template-columns: 1fr;
	}

	.pc-compact-panel {
		border-right: 0;
		border-bottom: 1px solid var(--nsr-line);
	}

	.pc-compact-spec-row,
	.pc-compact-check-row {
		grid-template-columns: minmax(110px, .7fr) 1.3fr;
	}

	.pc-compact-head {
		align-items: flex-start;
		padding: 13px 14px;
	}

	.pc-compact-head h2 {
		font-size: 18px;
	}

	.pc-compact-condition {
		min-width: 76px;
	}

	.nsr-header-inner {
		min-height: 64px;
	}

	.nsr-main-nav {
		order: 3;
	}

	.nsr-hero {
		border-radius: 15px;
	}

	.nsr-hero h1 {
		font-size: 43px;
	}

	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px;
	}

	.nsr-category-section > .wp-block-columns {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.nsr-interactive-catalog {
		display: block;
	}

	.nsr-catalog-sidebar {
		position: static;
		margin-bottom: 18px;
		padding: 0;
	}

	.nsr-catalog-brand {
		margin-bottom: 8px;
	}

	.nsr-sidebar-actions {
		margin-bottom: 18px;
	}

	.nsr-catalog-sidebar h2,
	.nsr-filter-help {
		display: none;
	}

	.nsr-filter-list {
		display: flex;
		gap: 7px;
		margin: 0 -18px;
		padding: 0 18px 8px;
		overflow-x: auto;
	}

	.nsr-filter-list button {
		flex: none;
		width: auto;
		padding: 8px 11px;
		border: 1px solid var(--nsr-line);
		border-radius: 99px;
		background: #fff;
	}

	.nsr-filter-list button span {
		margin-left: 7px;
	}

	.nsr-filter-list button:hover,
	.nsr-filter-list button.is-active {
		transform: none;
		border-color: #064fee;
		background: #064fee;
		color: #fff;
	}

	.nsr-catalog-products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px 12px;
	}

	.nsr-product-meta {
		display: block;
	}

	.nsr-product-meta strong {
		display: block;
		max-width: none;
		font-size: 12px;
	}

	.nsr-product-meta > span {
		display: block;
		margin-top: 5px;
		text-align: left;
	}

	.nsr-quick-view {
		width: calc(100vw - 16px);
		height: calc(100vh - 16px);
		max-height: calc(100vh - 16px);
	}

	.nsr-modal-body {
		display: block;
		height: auto;
		max-height: calc(100vh - 64px);
		overflow-y: auto;
	}

	.nsr-modal-visual {
		grid-template-rows: auto 250px auto;
		padding: 12px;
		border-right: 0;
	}

	.nsr-modal-summary {
		padding: 25px 20px;
	}

	.nsr-modal-panel {
		padding: 22px 20px;
		border-right: 0;
		border-top: 1px solid #fff;
	}

	.nsr-modal-panel dl > div,
	.nsr-modal-checks > div {
		grid-template-columns: 1fr;
		gap: 4px;
	}

	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		min-height: 0;
		font-size: 15px;
	}

	.woocommerce ul.products li.product .woocommerce-loop-product__title,
	.woocommerce ul.products li.product .price,
	.woocommerce ul.products li.product .button {
		margin-right: 12px;
		margin-left: 12px;
	}
}

/* Keep the footer directly after the final page module. */
body .wp-site-blocks {
	display: block;
	min-height: 0;
}

body .wp-site-blocks > main {
	min-height: 0;
}

body .wp-site-blocks > footer.wp-block-template-part {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
}

.home .nsr-partner-cta {
	margin-bottom: 0 !important;
}

.home main > .wp-block-group:has(.nsr-partner-cta) {
	padding-bottom: 0 !important;
}

.home .nsr-site-footer {
	margin-block-start: 0 !important;
}

/* Account-page finishing overrides */
.woocommerce-account .nsr-page-rail {
	gap: 7px;
	width: 78px;
	padding: 10px 7px;
}

.woocommerce-account .nsr-page-rail-brand {
	padding-top: 14px;
	padding-bottom: 14px;
	font-size: 23px !important;
	letter-spacing: -.04em;
}

.woocommerce-account .nsr-page-rail > a:not(.nsr-page-rail-brand) {
	padding: 11px 5px;
	font-size: 11px;
	line-height: 1.25;
}

.woocommerce-account .nsr-page-rail > a span {
	font-size: 10px;
}

.woocommerce-account .nsr-page-rail .nsr-rail-language {
	margin-top: 3px;
}

.woocommerce-account .nsr-page-rail .nsr-rail-language a {
	padding: 9px 5px;
	font-size: 11px;
}

.woocommerce-account .woocommerce-form-login .form-row:has(.woocommerce-form-login__submit) {
	display: flex;
	align-items: center;
	gap: 18px;
	min-height: 50px;
	margin-top: 4px;
	margin-bottom: 20px;
}

.woocommerce-account .woocommerce-form-login .woocommerce-form-login__rememberme {
	display: inline-flex !important;
	align-items: center;
	order: 2;
	min-height: 48px;
	margin: 0;
	padding: 0;
	line-height: 1;
	white-space: nowrap;
}

.woocommerce-account .woocommerce-form-login .woocommerce-form-login__rememberme span {
	display: inline-block;
	white-space: nowrap;
}

.woocommerce-account .woocommerce-form-login .woocommerce-form-login__submit,
.woocommerce-account .woocommerce-form-login button.woocommerce-form-login__submit,
.woocommerce-account .woocommerce-form-login .wp-element-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	order: 1;
	min-width: 126px;
	min-height: 48px;
	margin: 0 !important;
	padding: 0 24px !important;
	border: 1px solid #53bfff !important;
	border-radius: 8px !important;
	background: #1674d1 !important;
	box-shadow: 0 9px 24px rgba(0, 92, 190, .3);
	color: #fff !important;
	line-height: 1 !important;
	opacity: 1;
}

.woocommerce-account #customer_login .woocommerce-form-register__submit {
	min-width: 150px;
	border: 1px solid rgba(255, 255, 255, .55) !important;
	background: #fff !important;
	box-shadow: 0 10px 26px rgba(0, 31, 55, .2);
	color: #0e5b80 !important;
}

.woocommerce-account #customer_login .woocommerce-form-register__submit:hover {
	background: #dff5ff !important;
	color: #073e5d !important;
}

.woocommerce-account .woocommerce-form-login .woocommerce-form-login__submit:hover,
.woocommerce-account .woocommerce-form-login button.woocommerce-form-login__submit:hover {
	border-color: #7bd0ff !important;
	background: #258bea !important;
}

@media (max-width: 780px) {
	.woocommerce-account .nsr-page-rail {
		width: auto;
	}

	.woocommerce-account .nsr-page-rail-brand {
		padding: 9px 7px;
		font-size: 16px !important;
	}

	.woocommerce-account .woocommerce-form-login .form-row:has(.woocommerce-form-login__submit) {
		flex-wrap: wrap;
		gap: 10px 16px;
	}

	.woocommerce-account .woocommerce-form-login .woocommerce-form-login__submit,
	.woocommerce-account .woocommerce-form-login button.woocommerce-form-login__submit {
		min-width: 116px;
	}

	.woocommerce-account #customer_login {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.woocommerce-account #customer_login .woocommerce-form-login,
	.woocommerce-account #customer_login .woocommerce-form-register {
		height: auto;
		min-height: 0;
		padding: 28px 22px !important;
		border-radius: 14px !important;
	}
}

/* Separate login and registration views */
.woocommerce-account #customer_login {
	display: block;
	width: min(100%, 700px);
}

.woocommerce-account #customer_login > .u-column1,
.woocommerce-account #customer_login > .u-column2 {
	width: 100%;
}

.woocommerce-account #customer_login > .u-column1 > h2,
.woocommerce-account #customer_login > .u-column2 > h2 {
	box-sizing: border-box;
	width: 100%;
	padding-left: clamp(30px, 3.3vw, 48px);
}

.woocommerce-account.nsr-account-login #customer_login > .u-column2,
.woocommerce-account.nsr-account-register #customer_login > .u-column1 {
	display: none;
}

.woocommerce-account #customer_login .woocommerce-form-login,
.woocommerce-account #customer_login .woocommerce-form-register {
	height: auto;
	min-height: 0;
}

.woocommerce-account .woocommerce-form-login p.form-row:has(.woocommerce-form-login__submit) {
	box-sizing: border-box;
	display: flex !important;
	flex: 0 0 100% !important;
	align-self: stretch !important;
	align-items: center !important;
	justify-content: flex-start !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 100% !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
	clear: both !important;
	text-align: left !important;
}

.woocommerce-account .woocommerce-form-login .woocommerce-form-login__submit,
.woocommerce-account .woocommerce-form-login .woocommerce-form-login__rememberme {
	float: none !important;
	transform: none !important;
}

.woocommerce-account .woocommerce-form-login p.form-row:has(.woocommerce-form-login__submit) > .woocommerce-form-login__submit {
	margin-right: 18px !important;
	margin-left: 0 !important;
}

.woocommerce-account .nsr-account-switch {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-top: 28px;
	padding-top: 22px;
	border-top: 1px solid rgba(255, 255, 255, .16);
	color: #b9ccdc;
	font-size: 12px;
}

.woocommerce-account .nsr-account-switch a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex: none;
	min-height: 42px;
	padding: 0 16px;
	border: 1px solid rgba(145, 225, 255, .48);
	border-radius: 7px;
	background: rgba(255, 255, 255, .08);
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .08em;
	text-decoration: none;
	transition: border-color .18s ease, background .18s ease;
}

.woocommerce-account .nsr-account-switch a:hover {
	border-color: #fff;
	background: rgba(255, 255, 255, .16);
}

.woocommerce-account .nsr-account-switch b {
	color: #73d1ff;
	font-size: 17px;
	font-weight: 400;
}

@media (max-width: 560px) {
	.woocommerce-account #customer_login > .u-column1 > h2,
	.woocommerce-account #customer_login > .u-column2 > h2 {
		padding-left: 22px;
	}

	.woocommerce-account .nsr-account-switch {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* Global readability pass: keep the NSR rail and compact commerce text usable on every page. */
.nsr-page-rail {
	gap: 8px;
	width: 82px;
	padding: 12px 8px;
}

.nsr-page-rail a {
	padding: 12px 6px;
	font-size: 12px;
	line-height: 1.2;
}

.nsr-page-rail-brand {
	padding-top: 15px !important;
	padding-bottom: 15px !important;
	font-size: 24px !important;
	letter-spacing: -.04em;
}

.nsr-page-rail span {
	margin-top: 4px;
	font-size: 11px;
}

.nsr-page-rail .nsr-rail-language {
	gap: 5px;
	margin-top: 6px;
}

.nsr-page-rail .nsr-rail-language a,
.nsr-language-switch a,
.nsr-rail-language a {
	padding: 9px 6px;
	font-size: 12px;
	line-height: 1.1;
}

.woocommerce-account .nsr-page-rail {
	width: 82px;
	padding: 12px 8px;
}

.woocommerce-account .nsr-page-rail-brand {
	font-size: 24px !important;
}

.woocommerce-account .nsr-page-rail > a:not(.nsr-page-rail-brand) {
	padding: 12px 6px;
	font-size: 12px;
}

.woocommerce-account .nsr-page-rail > a span,
.woocommerce-account .nsr-page-rail .nsr-rail-language a {
	font-size: 12px;
}

.woocommerce-account main .wp-block-post-title::before,
.woocommerce-account .woocommerce-form-login::before,
.woocommerce-account #customer_login .woocommerce-form-register::before {
	font-size: 16px;
}

.nsr-sidebar-actions a,
.nsr-catalog-category,
.nsr-product-seller,
.nsr-modal-seller,
.nsr-language-switch,
.nsr-rail-language {
	font-size: 13px;
}

.nsr-catalog-sidebar h2 {
	font-size: 24px;
}

.nsr-catalog-sidebar {
	font-size: 15px;
}

.nsr-product-card,
.nsr-modal,
.nsr-modal-specs,
.nsr-modal-checks {
	font-size: 15px;
}

.nsr-modal-specs th,
.nsr-modal-checks th,
.nsr-modal-specs td,
.nsr-modal-checks td {
	font-size: 14px;
}

@media (max-width: 782px) {
	/* The fixed desktop rail obscures checkout and account controls on phones.
	   Mobile already exposes the same destinations in the site header. */
	.nsr-page-rail {
		display: none !important;
	}

	.nsr-page-rail {
		width: auto;
		padding: 8px 10px;
	}

	.nsr-page-rail a {
		padding: 8px 9px;
		font-size: 11px;
	}

	.nsr-page-rail-brand {
		font-size: 18px !important;
	}

	.nsr-page-rail .nsr-rail-language a,
	.nsr-language-switch a,
	.nsr-rail-language a {
		font-size: 11px;
	}
}

/* Cart empty state */
.woocommerce-cart main {
	padding-inline: clamp(24px, 5vw, 72px);
}

.woocommerce-cart main .wp-block-post-title {
	max-width: 1120px;
	margin: clamp(28px, 5vw, 64px) auto 0;
	font-size: clamp(54px, 7vw, 104px);
	letter-spacing: -.055em;
}

.woocommerce-cart .woocommerce {
	max-width: 1120px;
	margin: 0 auto;
}

.woocommerce-cart .cart-empty,
.woocommerce-cart .return-to-shop.nsr-empty-cart__fallback {
	display: none;
}

.nsr-empty-cart {
	position: relative;
	display: grid;
	justify-items: center;
	margin: clamp(36px, 6vw, 80px) auto clamp(34px, 6vw, 72px);
	padding: clamp(34px, 5vw, 72px);
	overflow: hidden;
	border: 1px solid rgba(16, 24, 40, .1);
	border-radius: 16px;
	background:
		linear-gradient(135deg, rgba(6, 79, 238, .1), rgba(0, 210, 255, .08) 36%, rgba(255, 255, 255, .94) 72%),
		#f7fbff;
	box-shadow: 0 30px 90px rgba(16, 24, 40, .12);
	text-align: center;
}

.nsr-empty-cart::before,
.nsr-empty-cart::after {
	position: absolute;
	content: "";
	pointer-events: none;
}

.nsr-empty-cart::before {
	inset: 18px;
	border: 1px solid rgba(6, 79, 238, .12);
	border-radius: 11px;
}

.nsr-empty-cart::after {
	top: 18px;
	right: 18px;
	width: 190px;
	height: 190px;
	background:
		linear-gradient(90deg, rgba(6, 79, 238, .16) 1px, transparent 1px),
		linear-gradient(rgba(6, 79, 238, .16) 1px, transparent 1px);
	background-size: 19px 19px;
	mask-image: linear-gradient(135deg, #000, transparent 72%);
	opacity: .45;
}

.nsr-empty-cart__mark {
	position: relative;
	display: grid;
	width: 118px;
	height: 118px;
	margin-bottom: 28px;
	place-items: center;
	border: 1px solid rgba(6, 79, 238, .22);
	border-radius: 18px;
	background: #101827;
	box-shadow: 0 18px 45px rgba(16, 24, 40, .22);
}

.nsr-empty-cart__mark span {
	width: 48px;
	height: 48px;
	border: 3px solid #44c8ff;
	border-radius: 10px;
	box-shadow: inset 0 0 0 7px rgba(68, 200, 255, .08);
}

.nsr-empty-cart__mark span::before,
.nsr-empty-cart__mark span::after,
.nsr-empty-cart__mark i::before,
.nsr-empty-cart__mark i::after {
	position: absolute;
	width: 16px;
	height: 3px;
	border-radius: 999px;
	background: #1fe6ad;
	content: "";
}

.nsr-empty-cart__mark span::before {
	top: 25px;
	left: 51px;
}

.nsr-empty-cart__mark span::after {
	right: 51px;
	bottom: 25px;
}

.nsr-empty-cart__mark i::before {
	top: 51px;
	right: 25px;
	transform: rotate(90deg);
}

.nsr-empty-cart__mark i::after {
	bottom: 51px;
	left: 25px;
	transform: rotate(90deg);
}

.nsr-empty-cart__eyebrow {
	margin: 0 0 14px;
	color: #064fee;
	font-size: 15px;
	font-weight: 900;
	letter-spacing: .24em;
	text-transform: uppercase;
}

.nsr-empty-cart h2 {
	max-width: 760px;
	margin: 0;
	color: #101827;
	font-size: clamp(38px, 5vw, 68px);
	font-weight: 500;
	line-height: .96;
	letter-spacing: -.055em;
}

.nsr-empty-cart__copy {
	max-width: 620px;
	margin: 22px 0 0;
	color: #526071;
	font-size: 19px;
	line-height: 1.55;
}

.nsr-empty-cart__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
	margin-top: 34px;
}

.nsr-empty-cart__primary,
.nsr-empty-cart__secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 22px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 900;
	letter-spacing: .08em;
	text-decoration: none;
	text-transform: uppercase;
}

.nsr-empty-cart__primary,
.woocommerce-cart .nsr-empty-cart__primary.button {
	border: 1px solid #064fee;
	background: #064fee;
	color: #fff;
	box-shadow: 0 14px 32px rgba(6, 79, 238, .22);
}

.nsr-empty-cart__secondary {
	border: 1px solid rgba(16, 24, 40, .18);
	background: rgba(255, 255, 255, .64);
	color: #101827;
}

.woocommerce-cart .cross-sells > h2,
.woocommerce-cart .wc-block-grid__products + h2,
.woocommerce-cart .wp-block-heading {
	font-size: clamp(30px, 4vw, 52px);
	letter-spacing: -.04em;
}

@media (max-width: 720px) {
	.woocommerce-cart main {
		padding-inline: 18px;
	}

	.nsr-empty-cart {
		padding: 32px 22px;
	}

	.nsr-empty-cart__mark {
		width: 96px;
		height: 96px;
	}

	.nsr-empty-cart__copy {
		font-size: 16px;
	}

	.nsr-empty-cart__actions {
		display: grid;
		width: 100%;
	}

	.nsr-modal-highlights {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Final condition and page-height overrides. */
.pc-compact-condition {
	min-width: 156px;
	padding: 12px 16px;
	border: 0;
	border-radius: 10px;
	box-shadow: 0 8px 22px rgba(0, 0, 0, .18);
	text-align: left;
}
.pc-compact-condition span { color: currentColor; font-size: 10px; font-weight: 800; letter-spacing: .13em; opacity: .72; }
.pc-compact-condition strong { display: block; margin-top: 4px; font-size: 18px; line-height: 1.12; }
.pc-compact-condition small { display: block; margin-top: 5px; font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.nsr-modal-price-row > span { padding: 9px 13px; border: 0; border-radius: 7px; font-size: 11px; font-weight: 900; letter-spacing: .055em; box-shadow: 0 5px 14px rgba(0,0,0,.12); }
.nsr-modal-summary { position:relative; }
.nsr-modal-price-row > span { position:absolute; top:38px; right:38px; max-width:190px; text-align:center; }
.condition-open-box,.condition-excellent,.condition-ex-demo { background:#d9f8e8!important; color:#08734a!important; }
.condition-good { background:#dcecff!important; color:#0756a5!important; }
.condition-acceptable { background:#fff1bf!important; color:#795500!important; }
.condition-functional-with-faults { background:#ffe0bf!important; color:#984500!important; }
.condition-faulty { background:#ffd7dc!important; color:#a20d23!important; }
body .wp-site-blocks { display:flex; flex-direction:column; min-height:100vh; }
body .wp-site-blocks > main { flex:1 0 auto; }
body .wp-site-blocks > footer.wp-block-template-part { flex:0 0 auto; }

@media (max-width: 780px) {
	.nsr-modal-price-row > span { position:static; max-width:none; }
}

@media (max-height: 800px) and (min-width: 781px) {
	.nsr-modal-body {
		grid-template-rows: 500px auto;
		overflow-y: auto;
	}
}

/* Premium clickable condition badge and grading guide. */
.pc-compact-condition,
.nsr-modal-price-row > span[data-nsr-condition-guide] {
	--condition-accent: #7aa7d8;
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(255,255,255,.16) !important;
	background:
		linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.015)),
		#121924 !important;
	color: #f8fbff !important;
	box-shadow: 0 12px 30px rgba(3,9,18,.26), inset 0 1px rgba(255,255,255,.08);
	cursor: pointer;
	transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.pc-compact-condition::before,
.nsr-modal-price-row > span[data-nsr-condition-guide]::before {
	position: absolute;
	inset: 0 auto 0 0;
	width: 4px;
	content: "";
	background: var(--condition-accent);
	box-shadow: 0 0 18px var(--condition-accent);
}

.pc-compact-condition::after,
.nsr-modal-price-row > span[data-nsr-condition-guide]::after {
	position: absolute;
	top: 8px;
	right: 9px;
	display: grid;
	width: 17px;
	height: 17px;
	place-items: center;
	border: 1px solid rgba(255,255,255,.34);
	border-radius: 50%;
	content: "?";
	color: #fff;
	font-size: 10px;
	font-weight: 900;
	opacity: .78;
}

.pc-compact-condition:hover,
.pc-compact-condition:focus-visible,
.nsr-modal-price-row > span[data-nsr-condition-guide]:hover,
.nsr-modal-price-row > span[data-nsr-condition-guide]:focus-visible {
	transform: translateY(-2px);
	border-color: color-mix(in srgb, var(--condition-accent) 72%, #fff) !important;
	box-shadow: 0 16px 34px rgba(3,9,18,.34), 0 0 0 3px color-mix(in srgb, var(--condition-accent) 18%, transparent);
	outline: none;
}

.pc-compact-condition span { color:#aeb9c8; opacity:1; }
.pc-compact-condition strong { padding-right:24px; color:#fff; }
.condition-open-box { --condition-accent:#42d7c0; }
.condition-excellent { --condition-accent:#52d792; }
.condition-ex-demo { --condition-accent:#7bd771; }
.condition-good { --condition-accent:#5fa8ff; }
.condition-acceptable { --condition-accent:#e6bd58; }
.condition-functional-with-faults { --condition-accent:#ee8e4a; }
.condition-faulty { --condition-accent:#ef5f70; }

.nsr-condition-guide {
	width: min(720px, calc(100vw - 34px));
	max-width: none;
	max-height: calc(100vh - 40px);
	padding: 0;
	border: 1px solid #263449;
	border-radius: 16px;
	background: #101722;
	box-shadow: 0 34px 100px rgba(0,0,0,.54);
	color: #f5f8fc;
}

.nsr-condition-guide::backdrop {
	background: rgba(4,8,14,.72);
	backdrop-filter: blur(7px);
}

.nsr-condition-guide header {
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	padding:26px 28px 20px;
	border-bottom:1px solid rgba(255,255,255,.09);
}

.nsr-condition-guide header span {
	color:#65b2ff;
	font-size:10px;
	font-weight:900;
	letter-spacing:.16em;
}

.nsr-condition-guide h2 {
	margin:5px 0 0;
	color:#fff;
	font-size:30px;
	letter-spacing:-.035em;
}

.nsr-condition-guide header button {
	width:36px;
	height:36px;
	padding:0;
	border:1px solid rgba(255,255,255,.18);
	border-radius:50%;
	background:transparent;
	color:#fff;
	font-size:24px;
	cursor:pointer;
}

.nsr-condition-guide__intro {
	margin:0;
	padding:18px 28px;
	color:#aeb9c8;
	font-size:14px;
	line-height:1.55;
}

.nsr-condition-guide__list {
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:1px;
	padding:1px 28px 28px;
}

.nsr-condition-guide__list article {
	--condition-accent:#7aa7d8;
	display:grid;
	grid-template-columns:8px 1fr;
	gap:13px;
	min-height:92px;
	padding:17px;
	border:1px solid rgba(255,255,255,.08);
	background:rgba(255,255,255,.025) !important;
	color:#f7f9fc !important;
}

.nsr-condition-guide__list article i {
	width:7px;
	height:7px;
	margin-top:6px;
	border-radius:50%;
	background:var(--condition-accent);
	box-shadow:0 0 12px var(--condition-accent);
}

.nsr-condition-guide__list article strong { color:#fff; font-size:15px; }
.nsr-condition-guide__list article p { margin:5px 0 0; color:#9fabbc; font-size:12px; line-height:1.5; }
.nsr-condition-guide__list article.condition-open-box { --condition-accent:#42d7c0; }
.nsr-condition-guide__list article.condition-excellent { --condition-accent:#52d792; }
.nsr-condition-guide__list article.condition-ex-demo { --condition-accent:#7bd771; }
.nsr-condition-guide__list article.condition-good { --condition-accent:#5fa8ff; }
.nsr-condition-guide__list article.condition-acceptable { --condition-accent:#e6bd58; }
.nsr-condition-guide__list article.condition-functional-with-faults { --condition-accent:#ee8e4a; }
.nsr-condition-guide__list article.condition-faulty { --condition-accent:#ef5f70; }

.nsr-modal-price-row > span[data-nsr-condition-guide] {
	position:absolute;
	top:38px;
	right:38px;
	padding-right:34px;
}

@media (max-width: 650px) {
	.nsr-condition-guide__list { grid-template-columns:1fr; }
	.nsr-condition-guide { overflow-y:auto; }
	.nsr-modal-price-row > span[data-nsr-condition-guide] { position:relative; top:auto; right:auto; }
}

/* Language controls belong directly beneath account and cart. */
.nsr-sidebar-actions {
	flex-wrap: wrap;
	align-items: center;
}

.nsr-sidebar-language {
	display: flex;
	flex: 0 0 100%;
	align-items: center;
	gap: 6px;
	margin-top: 2px;
}

.nsr-sidebar-language a {
	min-width: 34px;
	padding: 8px 10px;
	border: 1px solid #cfd6e2;
	color: #647084;
	font-size: 11px !important;
	font-weight: 900;
	line-height: 1;
	text-align: center;
	text-decoration: none;
}

.nsr-sidebar-language a.is-active {
	border-color: #064fee;
	background: #064fee;
	color: #fff;
}

.nsr-catalog-sidebar > .nsr-language-switch {
	display: none;
}

/* Component reports use the same inventory rhythm as complete systems. */
.pc-part-inventory .pc-inventory-details {
	grid-template-columns: 1fr;
}

.pc-part-inventory .pc-inventory-details > div {
	grid-template-columns: minmax(130px, .55fr) 1.45fr;
}

.pc-part-inventory .pc-inventory-details > div:nth-last-child(-n+2) {
	border-bottom: 1px solid rgba(255,255,255,.04);
}

.pc-part-inventory .pc-inventory-details > div:last-child {
	border-bottom: 0;
}

/* Order confirmation: clear hierarchy, compact facts and premium receipt card. */
.woocommerce-order-received main {
	box-sizing: border-box;
	width: min(1180px, calc(100% - 48px));
	margin: 0 auto;
	padding: clamp(38px, 6vw, 82px) 0 clamp(50px, 7vw, 96px);
}

.woocommerce-order-received main > .wp-block-post-title {
	margin: 0 0 26px;
	color: #101827;
	font-size: clamp(52px, 7vw, 94px);
	font-weight: 500;
	line-height: .92;
	letter-spacing: -.06em;
}

.woocommerce-order-received .woocommerce-order {
	display: grid;
	gap: 28px;
}

.woocommerce-order-received .woocommerce-notice--success {
	position: relative;
	margin: 0;
	padding: 24px 28px 24px 68px;
	border: 1px solid #b7e8d5;
	border-radius: 14px;
	background: linear-gradient(135deg, #eafff7, #f7fffc);
	color: #08734a;
	font-size: 18px;
	font-weight: 800;
	box-shadow: 0 16px 42px rgba(18,110,78,.09);
}

.woocommerce-order-received .woocommerce-notice--success::before {
	position: absolute;
	top: 50%;
	left: 25px;
	display: grid;
	width: 28px;
	height: 28px;
	place-items: center;
	border-radius: 50%;
	background: #16a66d;
	content: "✓";
	color: #fff;
	font-size: 16px;
	transform: translateY(-50%);
}

.woocommerce-order-received .woocommerce-order-overview {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 1px;
	margin: 0 !important;
	padding: 1px !important;
	overflow: hidden;
	border: 1px solid #dbe2eb;
	border-radius: 14px;
	background: #dbe2eb;
	list-style: none;
}

.woocommerce-order-received .woocommerce-order-overview li {
	box-sizing: border-box;
	min-width: 0;
	margin: 0 !important;
	padding: 18px 20px !important;
	border: 0 !important;
	background: #f8fafc;
	color: #718096;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.woocommerce-order-received .woocommerce-order-overview li strong {
	display: block;
	margin-top: 8px;
	overflow-wrap: anywhere;
	color: #101827;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.35;
	text-transform: none;
}

.woocommerce-order-received .woocommerce-order-details,
.woocommerce-order-received .woocommerce-customer-details {
	box-sizing: border-box;
	margin: 0 !important;
	padding: clamp(22px, 3vw, 34px);
	border: 1px solid #dbe2eb;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 22px 60px rgba(16,24,40,.08);
}

.woocommerce-order-received .woocommerce-order-details__title,
.woocommerce-order-received .woocommerce-column__title {
	margin: 0 0 22px;
	color: #101827;
	font-size: clamp(25px, 3vw, 36px);
	font-weight: 600;
	letter-spacing: -.035em;
}

.woocommerce-order-received .woocommerce-table--order-details {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
}

.woocommerce-order-received .woocommerce-table--order-details th {
	padding: 12px 14px;
	border-bottom: 1px solid #dbe2eb;
	color: #69778a;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .09em;
	text-align: left;
	text-transform: uppercase;
}

.woocommerce-order-received .woocommerce-table--order-details th:last-child,
.woocommerce-order-received .woocommerce-table--order-details td:last-child {
	text-align: right;
}

.woocommerce-order-received .woocommerce-table--order-details td {
	padding: 20px 14px;
	border-bottom: 1px solid #e5eaf0;
	color: #101827;
	font-size: 15px;
	vertical-align: top;
}

.woocommerce-order-received .woocommerce-table--order-details .product-name > a {
	color: #101827;
	font-size: 16px;
	font-weight: 800;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.woocommerce-order-received .woocommerce-table--order-details .wc-item-meta {
	display: grid;
	grid-template-columns: minmax(150px, auto) 1fr;
	gap: 5px 14px;
	margin: 12px 0 0;
	padding: 12px 14px;
	border-left: 3px solid #1672d8;
	background: #f5f8fc;
	font-size: 12px;
	list-style: none;
}

.woocommerce-order-received .woocommerce-table--order-details .wc-item-meta li {
	display: contents;
}

.woocommerce-order-received .woocommerce-table--order-details .wc-item-meta strong,
.woocommerce-order-received .woocommerce-table--order-details .wc-item-meta p {
	margin: 0;
	line-height: 1.45;
}

.woocommerce-order-received .woocommerce-table--order-details .wc-item-meta strong {
	color: #68778b;
}

.woocommerce-order-received .woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-order-received .woocommerce-table--order-details tfoot tr:last-child td {
	padding-top: 20px;
	border-bottom: 0;
	color: #101827;
	font-size: 20px;
}

.woocommerce-order-received .woocommerce-customer-details address {
	padding: 18px 20px;
	border: 0;
	border-radius: 10px;
	background: #f6f8fb;
	color: #445167;
	font-size: 14px;
	font-style: normal;
	line-height: 1.75;
}

.woocommerce-order-received .woocommerce-order > p:last-child {
	margin: 0;
	padding: 16px 20px;
	border-left: 3px solid #1672d8;
	background: #f3f7ff;
	color: #43536a;
	font-size: 13px;
}

@media (max-width: 880px) {
	.woocommerce-order-received .woocommerce-order-overview {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.woocommerce-order-received main {
		width: min(100% - 28px, 1180px);
	}

	.woocommerce-order-received .woocommerce-order-overview {
		grid-template-columns: 1fr;
	}

	.woocommerce-order-received .woocommerce-table--order-details .wc-item-meta {
		grid-template-columns: 1fr;
	}
}

/* Checkout Blocks: NSQUARE RENEW secure checkout experience. */
.woocommerce-checkout {
	background:
		linear-gradient(180deg, #f3f7fc 0, #fff 420px);
}

.woocommerce-checkout main {
	box-sizing: border-box;
	width: min(1380px, calc(100% - 48px));
	margin: 0 auto;
	padding: clamp(28px, 4vw, 54px) 0 clamp(52px, 7vw, 92px);
}

.woocommerce-checkout main .entry-content {
	max-width: none !important;
}

.woocommerce-checkout .wc-block-checkout {
	position: relative;
	margin: 0 !important;
}

.woocommerce-checkout .wp-block-woocommerce-checkout.wc-block-checkout::before {
	display: block;
	margin-bottom: 22px;
	padding: 16px 22px;
	border: 1px solid rgba(71,186,255,.24);
	border-radius: 10px;
	background:
		linear-gradient(100deg, rgba(31,198,255,.09), transparent 46%),
		#0b192b;
	box-shadow: 0 16px 38px rgba(11,25,43,.14);
	content: "SECURE CHECKOUT · NSQUARE RENEW";
	color: #fff;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: .15em;
}

.woocommerce-checkout .wc-block-components-sidebar-layout {
	align-items: flex-start;
	gap: clamp(24px, 3vw, 44px);
}

.woocommerce-checkout .wc-block-checkout__main {
	box-sizing: border-box;
	width: calc(64% - 22px);
	padding-right: 0 !important;
}

.woocommerce-checkout .wc-block-checkout__sidebar {
	position: sticky;
	top: 24px;
	box-sizing: border-box;
	width: calc(36% - 22px);
	padding: 0 !important;
	overflow: hidden;
	border: 1px solid #d8e0ea;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 26px 70px rgba(16,24,40,.11);
}

.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-title {
	margin: 0;
	padding: 22px 24px;
	background: linear-gradient(135deg, #0b192b, #173a5d);
	color: #fff;
	font-size: 21px;
	font-weight: 700;
	letter-spacing: -.025em;
}

.woocommerce-checkout .wc-block-components-checkout-step {
	box-sizing: border-box;
	margin: 0 0 14px !important;
	padding: 22px 24px !important;
	border: 1px solid #dbe3ed;
	border-radius: 13px;
	background: rgba(255,255,255,.94);
	box-shadow: 0 12px 34px rgba(16,24,40,.055);
}

.woocommerce-checkout .wc-block-components-checkout-step__heading {
	margin: 0 0 16px !important;
	padding: 0 !important;
}

.woocommerce-checkout .wc-block-components-checkout-step__title {
	position: relative;
	margin: 0 !important;
	padding-left: 19px;
	color: #101827;
	font-size: 19px;
	font-weight: 800;
	letter-spacing: -.025em;
}

.woocommerce-checkout .wc-block-components-checkout-step__title::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #1672d8;
	box-shadow: 0 0 0 5px rgba(22,114,216,.1);
	content: "";
	transform: translateY(-50%);
}

.woocommerce-checkout .wc-block-components-checkout-step__content {
	padding: 0 !important;
}

.woocommerce-checkout .wc-block-components-text-input input,
.woocommerce-checkout .wc-blocks-components-select__select,
.woocommerce-checkout .wc-block-components-combobox-control input {
	min-height: 54px !important;
	border: 1px solid #cbd5e2 !important;
	border-radius: 8px !important;
	background: #f8fafc !important;
	color: #101827 !important;
	font-size: 15px !important;
	box-shadow: none !important;
}

.woocommerce-checkout .wc-block-components-text-input input:focus,
.woocommerce-checkout .wc-blocks-components-select__select:focus,
.woocommerce-checkout .wc-block-components-combobox-control input:focus {
	border-color: #1672d8 !important;
	background: #fff !important;
	box-shadow: 0 0 0 3px rgba(22,114,216,.12) !important;
	outline: none !important;
}

.woocommerce-checkout .wc-block-components-address-card {
	padding: 17px 18px;
	border: 1px solid #d7e0eb;
	border-radius: 9px;
	background: #f7f9fc;
}

.woocommerce-checkout .wc-block-components-address-card__edit {
	color: #1268c4;
	font-weight: 800;
}

.woocommerce-checkout .wc-block-components-radio-control__option {
	margin: 0 0 8px !important;
	padding: 16px 17px 16px 50px !important;
	border: 1px solid #d4deea !important;
	border-radius: 9px;
	background: #f8fafc;
	transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.woocommerce-checkout .wc-block-components-radio-control__option:has(input:checked) {
	border-color: #1672d8 !important;
	background: #f1f7ff;
	box-shadow: inset 3px 0 #1672d8, 0 6px 18px rgba(22,114,216,.07);
}

.woocommerce-checkout .wc-block-components-radio-control__label,
.woocommerce-checkout .wc-block-components-radio-control__description {
	font-size: 14px;
}

.woocommerce-checkout .wc-block-components-radio-control__description {
	margin-top: 6px;
	color: #617086;
	line-height: 1.5;
}

.woocommerce-checkout .wc-block-checkout__actions {
	margin-top: 18px;
	padding: 0 !important;
}

.woocommerce-checkout .wc-block-components-checkout-place-order-button {
	min-height: 58px;
	border: 1px solid #064fee !important;
	border-radius: 9px !important;
	background: linear-gradient(135deg, #064fee, #1479e8) !important;
	color: #fff !important;
	font-size: 15px !important;
	font-weight: 900 !important;
	letter-spacing: .065em;
	box-shadow: 0 16px 34px rgba(6,79,238,.23);
	text-transform: uppercase;
}

.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
	filter: brightness(1.06);
	transform: translateY(-1px);
}

.woocommerce-checkout .wc-block-components-order-summary {
	padding: 0 18px;
}

.woocommerce-checkout .wc-block-components-order-summary-item {
	padding: 18px 0 !important;
}

.woocommerce-checkout .wc-block-components-order-summary-item__image img {
	border-radius: 7px;
	background: #eef2f6;
}

.woocommerce-checkout .wc-block-components-order-summary-item__description {
	font-size: 13px;
}

.woocommerce-checkout .wc-block-components-totals-wrapper {
	padding: 16px 18px !important;
	border-color: #e0e6ee !important;
}

.woocommerce-checkout .wc-block-components-totals-footer-item {
	font-size: 20px;
	font-weight: 800;
}

.woocommerce-checkout .wc-block-components-notice-banner {
	box-sizing: border-box;
	margin: 0 0 22px !important;
	padding: 16px 18px !important;
	border: 1px solid #b8e6d2 !important;
	border-radius: 11px !important;
	background: linear-gradient(135deg, #ecfff7, #f8fffc) !important;
	color: #145f46 !important;
	box-shadow: 0 10px 26px rgba(20,95,70,.07);
}

.woocommerce-checkout .wc-block-components-notice-banner.is-success {
	border-color: #b8e6d2 !important;
}

.woocommerce-checkout .wc-block-components-notice-banner__content {
	align-items: center;
	font-size: 14px;
	font-weight: 650;
}

.woocommerce-checkout .wc-block-components-notice-banner .wc-forward {
	padding: 8px 12px;
	border: 1px solid rgba(20,95,70,.24);
	border-radius: 6px;
	background: #fff;
	color: #145f46;
	font-size: 12px;
	font-weight: 900;
	text-decoration: none;
}

.woocommerce-checkout .wc-block-store-notices:empty {
	display: none;
}

@media (max-width: 900px) {
	.woocommerce-checkout main {
		width: min(100% - 28px, 1380px);
	}

	.woocommerce-checkout .wc-block-components-sidebar-layout {
		display: flex;
		flex-direction: column;
	}

	.woocommerce-checkout .wc-block-checkout__main,
	.woocommerce-checkout .wc-block-checkout__sidebar {
		position: static;
		width: 100%;
	}
}

@media (max-width: 560px) {
	.woocommerce-checkout .wc-block-checkout::before {
		padding: 14px 16px;
		font-size: 11px;
		letter-spacing: .1em;
	}

	.woocommerce-checkout .wc-block-components-checkout-step {
		padding: 18px 16px !important;
	}
}

/* WooCommerce Checkout Blocks order-confirmation equivalents. */
.woocommerce-order-received .wc-block-order-confirmation-status {
	box-sizing: border-box;
	margin: 0 !important;
	padding: clamp(28px, 4vw, 48px);
	overflow: hidden;
	border-radius: 16px;
	background:
		radial-gradient(circle at 90% 20%, rgba(49,178,255,.2), transparent 34%),
		linear-gradient(135deg, #08182a, #15395d);
	box-shadow: 0 24px 70px rgba(8,24,42,.2);
	color: #fff;
}

.woocommerce-order-received .wc-block-order-confirmation-status h1 {
	margin: 0;
	color: #fff;
	font-size: clamp(44px, 6vw, 76px);
	font-weight: 500;
	letter-spacing: -.055em;
}

.woocommerce-order-received .wc-block-order-confirmation-status p {
	position: relative;
	margin: 18px 0 0;
	padding-left: 28px;
	color: #c5d9e9;
	font-size: 17px;
}

.woocommerce-order-received .wc-block-order-confirmation-status p::before {
	position: absolute;
	top: 1px;
	left: 0;
	display: grid;
	width: 20px;
	height: 20px;
	place-items: center;
	border-radius: 50%;
	background: #22c88a;
	content: "✓";
	color: #071824;
	font-size: 11px;
	font-weight: 900;
}

.woocommerce-order-received .wc-block-order-confirmation-summary {
	margin: 0 !important;
}

.woocommerce-order-received .wc-block-order-confirmation-summary-list {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 1px;
	margin: 0;
	padding: 1px;
	overflow: hidden;
	border: 1px solid #dbe2eb;
	border-radius: 14px;
	background: #dbe2eb;
	list-style: none;
}

.woocommerce-order-received .wc-block-order-confirmation-summary-list-item {
	box-sizing: border-box;
	display: grid;
	align-content: start;
	gap: 7px;
	min-width: 0;
	padding: 18px 20px;
	background: #f8fafc;
}

.woocommerce-order-received .wc-block-order-confirmation-summary-list-item__key {
	color: #708096;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.woocommerce-order-received .wc-block-order-confirmation-summary-list-item__value {
	overflow-wrap: anywhere;
	color: #101827;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.35;
}

.woocommerce-order-received .wc-block-order-confirmation-totals-wrapper,
.woocommerce-order-received .wp-block-woocommerce-order-confirmation-billing-address,
.woocommerce-order-received .wp-block-woocommerce-order-confirmation-shipping-address {
	box-sizing: border-box;
	margin: 0 !important;
	padding: clamp(22px, 3vw, 34px);
	border: 1px solid #dbe2eb;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 22px 60px rgba(16,24,40,.08);
}

.woocommerce-order-received .wc-block-order-confirmation-totals-wrapper > h2,
.woocommerce-order-received .wp-block-woocommerce-order-confirmation-billing-address h2,
.woocommerce-order-received .wp-block-woocommerce-order-confirmation-shipping-address h2 {
	margin: 0 0 22px;
	color: #101827;
	font-size: clamp(25px, 3vw, 36px);
	font-weight: 600;
	letter-spacing: -.035em;
}

.woocommerce-order-received .wc-block-order-confirmation-totals__table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
}

.woocommerce-order-received .wc-block-order-confirmation-totals__table th {
	padding: 12px 14px;
	border-bottom: 1px solid #dbe2eb;
	color: #69778a;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.woocommerce-order-received .wc-block-order-confirmation-totals__table td {
	padding: 20px 14px;
	border-bottom: 1px solid #e5eaf0;
	vertical-align: top;
}

.woocommerce-order-received .wc-block-order-confirmation-totals__product > a {
	color: #101827;
	font-size: 16px;
	font-weight: 800;
	text-underline-offset: 3px;
}

.woocommerce-order-received .wc-block-order-confirmation-totals__table .wc-item-meta {
	display: grid;
	grid-template-columns: minmax(150px, auto) 1fr;
	gap: 5px 14px;
	margin: 12px 0 0;
	padding: 12px 14px;
	border-left: 3px solid #1672d8;
	background: #f5f8fc;
	font-size: 12px;
	list-style: none;
}

.woocommerce-order-received .wc-block-order-confirmation-totals__table .wc-item-meta li {
	display: contents;
}

.woocommerce-order-received .wc-block-order-confirmation-totals__table .wc-item-meta strong,
.woocommerce-order-received .wc-block-order-confirmation-totals__table .wc-item-meta p {
	margin: 0;
	line-height: 1.45;
}

.woocommerce-order-received .wc-block-order-confirmation-totals__table .wc-item-meta strong {
	color: #68778b;
}

.woocommerce-order-received .wp-block-woocommerce-order-confirmation-additional-information,
.woocommerce-order-received .wp-block-woocommerce-order-confirmation-additional-fields {
	margin: 0 !important;
	padding: 18px 22px;
	border-left: 3px solid #1672d8;
	background: #f3f7ff;
	color: #43536a;
}

@media (max-width: 880px) {
	.woocommerce-order-received .wc-block-order-confirmation-summary-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.woocommerce-order-received .wc-block-order-confirmation-summary-list {
		grid-template-columns: 1fr;
	}

	.woocommerce-order-received .wc-block-order-confirmation-totals__table .wc-item-meta {
		grid-template-columns: 1fr;
	}
}

/* Mobile commerce pass: one readable column, predictable controls and no sideways UI. */
@media (max-width: 600px) {
	html,
	body,
	.wp-site-blocks {
		max-width: 100%;
		overflow-x: clip;
	}

	body.admin-bar #wpadminbar {
		max-width: 100vw;
		overflow: hidden;
	}

	.nsr-shipping-ticker {
		height: 34px;
	}

	.nsr-shipping-ticker-track {
		min-height: 34px;
		font-size: 11px;
		letter-spacing: .04em;
	}

	.nsr-header-inner {
		display: grid !important;
		grid-template-columns: 1fr auto;
		gap: 14px 18px;
		padding: 22px 20px !important;
	}

	.nsr-header-brand {
		align-self: center;
		font-size: 23px;
	}

	.nsr-header-actions {
		justify-content: flex-end;
		gap: 14px;
		font-size: 12px;
	}

	.nsr-header-language,
	.nsr-language-switch {
		grid-column: 1 / -1;
	}

	.nsr-hero,
	.nsr-home-carousel {
		min-height: 300px;
	}

	.nsr-hero {
		padding: 32px 26px;
	}

	.nsr-hero h1 {
		max-width: 12ch;
		font-size: clamp(34px, 10vw, 42px);
		line-height: .98;
	}

	.nsr-interactive-catalog {
		width: 100%;
	}

	.nsr-catalog-sidebar {
		margin-bottom: 24px;
	}

	.nsr-filter-list {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
		margin: 0;
		padding: 0;
		overflow: visible;
	}

	.nsr-filter-entry,
	.nsr-filter-entry.has-children {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 28px;
		width: 100%;
		min-width: 0;
	}

	.nsr-filter-list .nsr-filter-entry > button:first-child {
		box-sizing: border-box;
		width: 100%;
		min-width: 0;
		padding: 10px 8px;
		overflow: hidden;
		border: 1px solid #dce3ec;
		border-radius: 8px 0 0 8px;
		background: #fff;
		font-size: 11px;
		text-align: left;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.nsr-filter-list .nsr-pc-filter-toggle {
		position: static;
		width: 28px;
		height: 100%;
		border: 1px solid #dce3ec;
		border-left: 0;
		border-radius: 0 8px 8px 0;
		background: #fff;
	}

	.nsr-filter-list .nsr-filter-count {
		display: none;
	}

	.nsr-filter-entry.is-open,
	.nsr-filter-entry:has(.nsr-pc-filter-panel:not([hidden])) {
		grid-column: 1 / -1;
	}

	.nsr-pc-filter-panel {
		grid-column: 1 / -1;
		width: 100%;
		margin-top: 8px;
		padding: 14px;
		border: 1px solid #dce3ec;
		border-radius: 10px;
		background: #f8fafc;
		box-shadow: none;
	}

	.nsr-catalog-products,
	.woocommerce ul.products,
	.wc-block-grid__products {
		grid-template-columns: 1fr !important;
		gap: 26px !important;
	}

	.nsr-product-card,
	.woocommerce ul.products li.product,
	.wc-block-grid__product {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
	}

	.nsr-product-card img,
	.woocommerce ul.products li.product img {
		width: 100%;
		aspect-ratio: 4 / 3;
		object-fit: cover;
	}

	.nsr-product-title,
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: 19px;
		line-height: 1.25;
		overflow-wrap: anywhere;
	}

	.nsr-product-meta {
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		gap: 12px;
	}

	.single-product main {
		padding-inline: 14px !important;
	}

	.single-product main > .wp-block-columns.alignwide {
		margin-inline: 0 !important;
	}

	.single-product .wp-block-post-title {
		max-width: 100%;
		margin-top: 24px;
		font-size: clamp(38px, 11vw, 52px) !important;
		line-height: .98;
		overflow-wrap: anywhere;
	}

	.single-product .wp-block-post-featured-image,
	.single-product .wp-block-post-featured-image img {
		width: 100%;
	}

	.single-product .wp-block-post-featured-image img {
		height: auto;
		aspect-ratio: 1 / 1;
		object-fit: contain;
		border-radius: 14px;
	}

	.pc-appearance-notice {
		padding: 18px !important;
		overflow-wrap: anywhere;
	}

	.pc-compact-head {
		display: grid;
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.pc-compact-condition {
		justify-self: start;
		min-width: 0;
	}

	.pc-compact-spec-row,
	.pc-compact-check-row,
	.pc-part-inventory .pc-inventory-details > div {
		grid-template-columns: 1fr;
		gap: 5px;
	}

	.pc-compact-spec-row dd {
		margin-left: 0;
		overflow-wrap: anywhere;
	}

	.single-product form.cart {
		gap: 12px;
	}

	.single-product form.cart .single_add_to_cart_button,
	.single-product form.cart .nsr-buy-now-button {
		box-sizing: border-box;
		width: 100%;
		min-height: 54px;
		margin: 0 !important;
	}

	.nsr-paid-addons {
		padding: 18px !important;
	}

	.nsr-addon-group {
		gap: 10px;
	}

	.nsr-addon-group label,
	.nsr-addon-shipping {
		padding: 13px !important;
	}

	.woocommerce-cart main,
	.woocommerce-checkout main,
	.woocommerce-account main,
	.woocommerce-order-received main {
		box-sizing: border-box;
		width: 100%;
		padding-inline: 14px !important;
	}

	.woocommerce-cart main .wp-block-post-title,
	.woocommerce-account main .wp-block-post-title,
	.woocommerce-order-received main > .wp-block-post-title {
		font-size: clamp(48px, 15vw, 68px);
		line-height: .92;
	}

	.woocommerce-cart .wc-block-cart {
		margin-inline: 0;
	}

	.woocommerce-cart .wc-block-components-sidebar-layout {
		display: block;
	}

	.woocommerce-cart .wc-block-cart__main,
	.woocommerce-cart .wc-block-cart__sidebar {
		width: 100% !important;
		padding: 0 !important;
	}

	.woocommerce-cart .wc-block-cart__sidebar {
		margin-top: 24px;
	}

	.woocommerce-cart .wc-block-cart-items__row {
		grid-template-columns: 76px minmax(0, 1fr) !important;
	}

	.woocommerce-cart .wc-block-cart-item__image {
		width: 68px !important;
	}

	.woocommerce-cart .wc-block-cart-item__total {
		display: none !important;
	}

	.woocommerce-cart .wc-block-components-product-name {
		font-size: 16px;
		line-height: 1.25;
		overflow-wrap: anywhere;
	}

	.woocommerce-checkout main {
		padding-top: 20px !important;
	}

	.woocommerce-checkout .wp-block-woocommerce-checkout.wc-block-checkout::before {
		margin-bottom: 14px;
		padding: 13px 15px;
		font-size: 10px;
		letter-spacing: .09em;
	}

	.woocommerce-checkout .wc-block-components-checkout-step {
		margin-bottom: 10px !important;
		padding: 17px 14px !important;
		border-radius: 10px;
	}

	.woocommerce-checkout .wc-block-components-checkout-step__title {
		font-size: 18px;
	}

	.woocommerce-checkout .wc-block-components-text-input input,
	.woocommerce-checkout .wc-blocks-components-select__select,
	.woocommerce-checkout .wc-block-components-combobox-control input {
		min-height: 50px !important;
		font-size: 16px !important;
	}

	.woocommerce-checkout .wc-block-components-radio-control__option {
		padding: 14px 12px 14px 43px !important;
	}

	.woocommerce-checkout .wc-block-checkout__sidebar {
		margin-top: 12px;
		border-radius: 12px;
	}

	.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-title {
		padding: 18px;
		font-size: 19px;
	}

	.woocommerce-checkout .wc-block-components-order-summary,
	.woocommerce-checkout .wc-block-components-totals-wrapper {
		padding-inline: 14px !important;
	}

	.woocommerce-checkout .wc-block-components-checkout-place-order-button {
		width: 100%;
	}

	.woocommerce-account .nsr-account-shell,
	.woocommerce-account .woocommerce {
		width: 100%;
	}

	.nsr-account-authenticated.woocommerce-account .woocommerce-MyAccount-navigation {
		position: static;
		width: 100%;
		margin-bottom: 18px;
	}

	.nsr-account-authenticated.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 7px;
		padding: 12px;
		overflow: visible;
	}

	.nsr-account-authenticated.woocommerce-account .woocommerce-MyAccount-navigation li {
		width: 100%;
		margin: 0 !important;
	}

	.nsr-account-authenticated.woocommerce-account .woocommerce-MyAccount-navigation a {
		display: flex;
		min-height: 42px;
		align-items: center;
		padding: 8px 10px;
		font-size: 12px;
	}

	.nsr-account-authenticated.woocommerce-account .woocommerce-MyAccount-content {
		width: 100%;
		padding: 20px 0 0;
	}

	.woocommerce-account .woocommerce-form-login,
	.woocommerce-account #customer_login .woocommerce-form-register {
		padding: 24px 18px !important;
	}

	.woocommerce-account .woocommerce-form-login p.form-row:has(.woocommerce-form-login__submit) {
		display: grid !important;
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.woocommerce-account .woocommerce-form-login .woocommerce-form-login__submit {
		width: 100%;
		margin: 0 !important;
	}

	.woocommerce-account .nsr-account-switch {
		gap: 14px;
	}

	.woocommerce-account .nsr-account-switch a {
		width: 100%;
		justify-content: center;
	}

	.nsr-site-footer {
		margin-top: 30px;
		padding: 0 18px 24px;
	}

	.nsr-footer-main {
		grid-template-columns: 1fr !important;
	}

	.nsr-footer-links .wp-block-navigation__container {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nsr-footer-account {
		justify-content: flex-start;
	}
}

/* Customer warranty, RMA and order-support portal. */
.nsr-support-portal {
	display: grid;
	gap: 26px;
}

.nsr-support-portal > header {
	padding: clamp(24px, 4vw, 42px);
	border-radius: 16px;
	background:
		radial-gradient(circle at 90% 10%, rgba(54, 181, 255, .2), transparent 34%),
		linear-gradient(135deg, #08182a, #15395d);
	color: #d7e7f5;
}

.nsr-support-portal > header > p:first-child {
	margin: 0 0 12px;
	color: #57c4ff;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .14em;
}

.nsr-support-portal > header h2 {
	margin: 0 0 14px;
	color: #fff;
	font-size: clamp(30px, 4vw, 48px);
	font-weight: 500;
	letter-spacing: -.04em;
}

.nsr-support-portal > header p:last-child {
	max-width: 760px;
	margin: 0;
	line-height: 1.65;
}

.nsr-support-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	padding: clamp(22px, 3vw, 34px);
	border: 1px solid #dbe3ed;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 22px 60px rgba(16, 24, 40, .08);
}

.nsr-support-form label {
	display: grid;
	gap: 8px;
	color: #34445a;
	font-size: 13px;
	font-weight: 800;
}

.nsr-support-form label:nth-of-type(n+3) {
	grid-column: 1 / -1;
}

.nsr-support-form input,
.nsr-support-form select,
.nsr-support-form textarea {
	box-sizing: border-box;
	width: 100%;
	min-height: 50px;
	padding: 12px 14px;
	border: 1px solid #cbd5e2;
	border-radius: 8px;
	background: #f8fafc;
	color: #101827;
	font: inherit;
	font-weight: 500;
}

.nsr-support-form textarea {
	resize: vertical;
}

.nsr-support-form button {
	grid-column: 1 / -1;
	justify-self: start;
	min-height: 50px;
	padding-inline: 24px !important;
	border-radius: 8px !important;
	background: #0b192b !important;
	color: #fff !important;
	font-weight: 900 !important;
}

.nsr-support-history {
	padding: clamp(22px, 3vw, 34px);
	border: 1px solid #dbe3ed;
	border-radius: 16px;
	background: #f8fafc;
}

.nsr-support-history h3 {
	margin-top: 0;
}

.nsr-support-history article {
	display: grid;
	grid-template-columns: 1fr auto auto;
	gap: 16px;
	padding: 14px 0;
	border-bottom: 1px solid #dbe3ed;
}

.nsr-support-history article span {
	color: #08734a;
	font-weight: 800;
}

/* Privacy consent is intentionally dormant after a stored choice. */
.nsr-consent {
	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 100000;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 22px;
	width: min(760px, calc(100% - 36px));
	padding: 20px 22px;
	border: 1px solid rgba(119, 206, 255, .34);
	border-radius: 13px;
	background: linear-gradient(135deg, #071525, #14395c);
	color: #dceaf6;
	box-shadow: 0 24px 70px rgba(4, 15, 28, .3);
}

.nsr-consent[hidden] {
	display: none;
}

.nsr-consent strong {
	color: #fff;
	font-size: 16px;
}

.nsr-consent p {
	margin: 7px 0 0;
	font-size: 12px;
	line-height: 1.55;
}

.nsr-consent__actions {
	display: flex;
	gap: 8px;
}

.nsr-consent__actions button {
	min-height: 42px;
	padding: 0 14px;
	border: 1px solid rgba(255, 255, 255, .28);
	border-radius: 7px;
	background: transparent;
	color: #fff;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .06em;
	cursor: pointer;
}

.nsr-consent__actions button:last-child {
	border-color: #45bfff;
	background: #1672d8;
}

@media (max-width: 600px) {
	.nsr-support-form {
		grid-template-columns: 1fr;
		padding: 18px;
	}

	.nsr-support-form label {
		grid-column: 1 !important;
	}

	.nsr-support-form button {
		width: 100%;
	}

	.nsr-support-history article {
		grid-template-columns: 1fr;
		gap: 5px;
	}

	.nsr-consent {
		right: 10px;
		bottom: 10px;
		grid-template-columns: 1fr;
		gap: 14px;
		width: calc(100% - 20px);
		padding: 18px;
	}

	.nsr-consent__actions {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}
}
