﻿

/* HOME PAGE */

:root {
	--bg: #0f0f0f;
	--bg2: #151515;
	--card: #1d1d1d;
	--muted: #b7b7b7;
	--text: #f2f2f2;
	--accent: #e67e22;
	--accent-2: #2ecc71;
	--border: #262626;
	--radius: 14px;
	--radius-sm: 10px;
	--shadow: 0 10px 24px rgba(0 0 0 .6);
	--max: 1200px;
}

.s1 {
	background: rgba(0, 0, 0, 0.25);
}

.s2 {
	background: rgba(24, 24, 24, 0.25);
}

.why {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 16px
}

	.why .card {
		background: var(--card);
		border: 1px solid var(--border);
		border-radius: var(--radius);
		padding: 18px
	}

@media (max-width: 991px) {
	.why {
		display: none;
	}

	#catfilters {
		display:none;
	}
}

.icon {
	font-size: 22px;
	margin-bottom: 8px
}

.section {
	padding: 12px 0 18px;
	border-top: 1px solid var(--border)
}

.muted {
	color: var(--muted)
}

.quotes {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 16px
}

blockquote {
	margin: 0;
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 16px;
	color: #ddd
}

	blockquote xfooter {
		margin-top: 8px;
		color: #aaa;
		font-size: 14px
	}


.product-card {
	width: 100%;
	border-radius: 12px;
	overflow: hidden;
	background: #1c1c1c;
	color: #fff;
	box-shadow: 0 2px 8px rgba(0,0,0,0.4);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

	.product-card:hover {
		transform: translateY(-6px);
		box-shadow: 0 8px 18px rgba(0,0,0,0.6);
	}

.thumb {
	position: relative;
	width: 100%;
	height: 180px;
	overflow: hidden;
}

	.thumb img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}

.overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.6);
	opacity: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: opacity 0.3s ease;
}

.overlay2 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.6);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: opacity 0.3s ease;
}

.account-hero {
	position: relative;
	overflow: hidden;
}

.account-hero h1,
.account-hero h2,
.account-hero h3 {
	position: relative;
	z-index: 3;
}

.account-hero .hero-fade-bottom {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 38%;
	background: linear-gradient(to bottom, rgba(15, 15, 15, 0), rgba(15, 15, 15, 1));
	z-index: 2;
	pointer-events: none;
}

.thumb:hover .overlay {
	opacity: 1;
}

.details {
	padding: 16px;
}

	.details h3 {
		margin: 0 0 6px;
		font-size: 24px;
	}

.desc {
	font-size: 14px;
	color: #bbb;
	margin-bottom: 12px;
	height: 42px;
	overflow: hidden;
}

	.desc p:after {
		content: "";
		background: linear-gradient(to right, transparent, #1c1c1c 80%);
		display: block;
		height: 15px;
		inset-block-end: 0;
		position: absolute;
		right: 13px;
		width: 50%;
		bottom: 116px;
	}

.meta {
	display: flex;
	justify-content: space-between;
	font-size: 14px;
	margin-bottom: 12px;
}

.actions {
	display: flex;
	justify-content: space-between;
}

.btn {
	padding: 8px 14px;
	background: #333;
	border-radius: 6px;
	text-decoration: none;
	color: #fff;
	font-size: 14px;
}

	.btn.primary {
		background: #e67e22;
	}

.version {
	display: inline-block;
	background: #444;
	padding: 7px 10px;
	border-radius: 6px;
	font-size: 13px;
	margin-right: 10px;
}


.cats {
	display: grid;
	grid-template-columns: repeat(6,1fr);
	gap: 14px;
	text-decoration: none;
}

.cat, .sorter {
	background: linear-gradient(180deg,#222,#1a1a1a);
	border: 1px solid var(--border);
	border-radius: 12px;
	padding: 7px;
	text-align: center;
	transition: transform .25s ease;
		text-decoration:none;
		cursor: pointer;
}

	.cat:hover, .sorter:hover {
		transform: translateY(-4px);
		text-decoration: none;
	}

	.cat span, .sorter span {
		display: inline-block;
		color: #ddd;
		margin-top: 0;
		text-decoration: none;
	}
	.sorter span {
		margin-top: 0;
	}

	.cat.active, .sorter.active {
		background: linear-gradient(180deg,#515050,#484747);
	}

	.cat.tag {
		font-size: 11px;
		background: linear-gradient(180deg,#e67e22,#461e00);
		cursor: default;
	}

/* PRODUCTS */

.product-card {
	width: 100%;
	border-radius: 12px;
	overflow: hidden;
	background: #1c1c1c;
	color: #fff;
	box-shadow: 0 2px 8px rgba(0,0,0,0.4);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

	.product-card:hover {
		transform: translateY(-6px);
		box-shadow: 0 8px 18px rgba(0,0,0,0.6);
	}

.thumb {
	position: relative;
	width: 100%;
	height: 180px;
	overflow: hidden;
}

	.thumb img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}

.overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.6);
	opacity: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: opacity 0.3s ease;
}

.thumb:hover .overlay {
	opacity: 1;
}

.details {
	padding: 16px;
}

	.details h3 {
		margin: 0 0 6px;
		font-size: 24px;
	}


.meta {
	display: flex;
	justify-content: space-between;
	font-size: 14px;
	margin-bottom: 12px;
}

.actions {
	display: flex;
	justify-content: space-between;
}

/*.btn {
	padding: 8px 14px;
	background: #333;
	border-radius: 6px;
	text-decoration: none;
	color: #fff;
	font-size: 14px;
}

	.btn.primary {
		background: #e67e22;
	}
*/

.version {
	display: inline-block;
	background: #444;
	padding: 7px 10px;
	border-radius: 6px;
	font-size: 13px;
	margin-right: 10px;
	height: 36px;
}



/* PRODUCT DETAILS */

h3.straightx, h4, h5, h6 {
	font-family: Impact, sans-serif;
	font-style: normal;
	font-weight: bold;
	letter-spacing: -0.08px;
}

.hidden {
	display: none;
}

body {
	color: #eee;
	line-height: 1.6;
	margin: 0;
	padding: 0;
}

h1, h2, h3 {
	color: #fff;
	margin-bottom: 10px;
	letter-spacing: -1.1px;
}

a {
	color: #e67e22;
	text-decoration: none;
}

	a:hover {
		text-decoration: underline;
	}

.updateddot {
	color: #e67e22;
	cursor: pointer;
}

/* Buttons */
.btn {
	display: inline-block;
	padding: 10px 18px;
	border-radius: 6px;
	font-size: 14px;
	font-weight: 600;
	transition: background 0.25s ease, transform 0.2s ease;
	text-decoration: none;
	background: #333;
}

	.btn:hover {
		background: #222;
		transform: translateY(-2px);
		text-decoration: none;
	}

	.btn.primary {
		background: #e67e22;
		color: #fff;
		text-decoration: none;
	}

		.btn.primary:hover {
			background: #d35400;
			transform: translateY(-2px);
			text-decoration: none;
		}

	.btn.secondary {
		background: #ffc107;
		color: #eee;
		text-decoration: none;
	}

		.btn.secondary:hover {
			background: #444;
			text-decoration: none;
		}

	.btn.tertiary {
		background: #a5978b;
		color: #eee;
		text-decoration: none;
	}

		.btn.tertiary:hover {
			background: #686058;
			text-decoration: none;
		}

.quickview {
	/* background: #e67e22; */
	border: none;
	padding: 10px 18px;
	border-radius: 6px;
	font-weight: bold;
	cursor: pointer;
	color: #fff;
	text-decoration: none;
	width: 100%;
	height: 100%;
	padding-top: 20%;
}

	.quickview:hover {
		background: rgb(0 0 0 / 4%);
		color: white;
		text-decoration: none;
	}

/* Hero section */
.hero {
	display: flex;
	gap: 20px;
	padding: 30px;
	background: rgba(0, 0, 0, 0.25);
	border-bottom: 1px solid #222;
}

	.hero img.main-img {
		width: 100%;
		border-radius: 12px;
		object-fit: cover;
	}

.hero-info {
	flex: 1;
}

	.hero-info h1 {
		font-size: 32px;
		margin: 0 0 12px;
	}

	.hero-info .version {
		display: inline-block;
		background: #444;
		padding: 4px 10px;
		border-radius: 6px;
		font-size: 13px;
		margin-right: 10px;
	}

	.hero-info .price {
		font-size: 20px;
		font-weight: bold;
		color: #2ecc71;
	}

	.hero-info .old-price {
		text-decoration: line-through;
		font-size: 14px;
		color: #888;
		margin-left: 6px;
	}

.description {
	padding: 30px;
	background: rgba(24, 24, 24, 0.25);
}

/* Features */
.features {
	padding: 30px;
	background: rgba(24, 24, 24, 0.25);
}

	.features ul {
		list-style: none;
		padding: 0;
	}

	.features li {
		margin: 8px 0;
		padding-left: 28px;
		position: relative;
	}

		.features li::before {
			content: "✔";
			position: absolute;
			left: 0;
			color: #2ecc71;
		}

/* Demo section */
.demo, .featurevideo {
	padding: 30px;
	text-align: center;
	background: rgba(0, 0, 0, 0.25);
}

	.demo .video, .featurevideo .video {
		margin-top: 15px;
	}

	.demo iframe, .featurevideo iframe {
		border-radius: 12px;
		max-width: 100%;
	}

/* Requirements */
.requirements {
	padding: 30px;
	background: rgba(0, 0, 0, 0.25);
}

	.requirements ul {
		list-style: none;
		padding: 0;
	}

	.requirements li {
		margin: 6px 0;
		padding-left: 20px;
		position: relative;
	}

		.requirements li::before {
			content: "•";
			position: absolute;
			left: 0;
			color: #e67e22;
		}

/* Reviews */
.reviews {
	padding: 30px;
	background: rgba(24, 24, 24, 0.25);
}

.review {
	background: rgba(34, 34, 34, 0.45);
	padding: 15px;
	border-radius: 8px;
	margin-bottom: 12px;
	font-size: 14px;
	color: #ddd;
}

	.review strong {
		color: #fff;
	}

/* Changelog */
.changelog {
	padding: 30px;
	background: rgba(0, 0, 0, 0.25);
}

	.changelog details {
		background: #222;
		margin-bottom: 8px;
		padding: 10px 15px;
		border-radius: 6px;
	}

	.changelog summary {
		cursor: pointer;
		font-weight: bold;
	}

/* Related Products */
.related {
	margin-top: 50px;
	padding: 30px;
	text-align: center;
	background: rgba(24, 24, 24, 0.25);
}

.related-cards {
	display: flex;
	gap: 20px;
	justify-content: center;
	margin-top: 15px;
	text-align: center;
	flex-direction: row;
}

.related .card {
	width: 200px;
	background: rgba(0, 0, 0, 0.40);
	border-radius: 10px;
	padding: 12px;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

	.related .card:hover {
		transform: translateY(-4px);
		box-shadow: 0 6px 12px rgba(0,0,0,0.6);
	}

	.related .card img {
		width: 100%;
		border-radius: 8px;
		margin-bottom: 10px;
	}

	.related .card h3 {
		font-size: 16px;
		margin-bottom: 10px;
	}

.shortDesc {
	margin-bottom: 20px;
	font-weight: bold;
}

#homelogo {
	margin-top: 75px;
	margin-bottom: 75px;
	width: 100%;
	max-width: 250px;
}

@media (max-width: 768px) {
	.related-cards {
		display: flex;
		gap: 20px;
		justify-content: center;
		margin-top: 15px;
		flex-direction: column;
	}

	.related .card {
		width: 100%;
	}

	#homelogo {
		margin-top: 109px;
		margin-bottom: 147px;
		width: 52%;
	}
}



#spinnerspinner {
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	animation: spin 2s linear infinite; /* Apply the spin animation */
}

@keyframes spin {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

/* Make each carousel item a positioning context */
.carousel-item {
	position: relative;
}

/* Wrap image so badges anchor to the image area */
.carousel-item-image-wrapper {
	position: relative;
	overflow: hidden; /* keeps badges from spilling out if you animate them */
}

/* Top-right logo cluster */
.carousel-item-badges {
	position: absolute;
	top: 0.5rem; /* adjust to align with your padding */
	right: 0.5rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem; /* spacing between badges */
	z-index: 2; /* above the image */
	pointer-events: none; /* badges shouldn’t block clicks on the card */
}

.carousel-badge {
	width: 64px;
	height: auto;
	display: block;
	/*border-radius: 4px;*/ /* optional, if logos are in squares */
	/*box-shadow: 0 0 4px rgba(0,0,0,0.4);*/ /* optional subtle pop */
}

.supportedLogos {
	position:relative;
	margin-top: -38px;
	text-align: right;
	height: 38px;
}
.card-badge {
	width: 32px;
	height: auto;
	display: inline-block;
	/*border-radius: 4px;*/ /* optional, if logos are in squares */
	/*box-shadow: 0 0 4px rgba(0,0,0,0.4);*/ /* optional subtle pop */
}

.btn {
	box-shadow: 2px 2px 0 rgba(0 0 0 .6) !important;
}

/* Make badges slightly smaller on small screens if needed */
@media (max-width: 768px) {
	.carousel-badge {
		width: 48px !important;
	}

	.carousel-item-badges {
		top: 0.35rem;
		right: 0.35rem;
		gap: 0.2rem;
	}
}

.cat img {
	width: 20px; 
	height: auto; 
	display:inline-block;
}




.alpha-nav {
	position: fixed;
	right: 12px;
	bottom: 20px;
	/*transform: translateY(-50%);*/
	z-index: 999;
	display: flex;
	flex-direction: column;
	gap: 2px;
	background: rgba(10, 10, 10, 0.75);
	padding: 8px 6px;
	border-radius: 10px;
	align-items: center;
}

	.alpha-nav a {
		color: #aaa;
		text-decoration: none;
		font-size: 12px;
		line-height: 1;
		padding: 3px 5px;
		border-radius: 4px;
	}

		.alpha-nav a.active {
			color: #fff;
			background: #e67e22;
		}

		.alpha-nav div {
			text-align: center;
		}
@media (max-width: 900px) {
	.alpha-nav {
		display: none;
	}
}

#alphaNav {
	scroll-behavior: auto;
}

[id^="letter-"] {
	scroll-margin-top: 300px;
}

/* STYLEUPDATE: NUI-INSPIRED STOREFRONT */
:root {
	--bg: #090d13;
	--bg2: #0d1219;
	--card: #10161f;
	--muted: #8792a2;
	--text: #f3f5f8;
	--accent: #ff5a00;
	--accent-2: #42d68a;
	--border: #252e3b;
	--radius: 9px;
	--radius-sm: 6px;
	--shadow: 0 24px 70px rgba(0, 0, 0, .42);
}

.s1,
.s2 {
	background: transparent;
}

.section {
	margin-top: 0px;
	padding: 24px 0;
	border-top-color: var(--border);
}

.section > h2,
.description > h2,
.features > h2,
.demo > h2,
.featurevideo > h2,
.requirements > h2,
.changelog > h2,
.related > h2 {
	position: relative;
	margin-bottom: 18px;
	padding-left: 13px;
	font-size: 20px;
}

.section > h2::before,
.description > h2::before,
.features > h2::before,
.demo > h2::before,
.featurevideo > h2::before,
.requirements > h2::before,
.changelog > h2::before,
.related > h2::before {
	content: "";
	position: absolute;
	top: .12em;
	bottom: .12em;
	left: 0;
	width: 3px;
	border-radius: 3px;
	background: var(--accent);
}

.why {
	gap: 14px;
}

.why .card,
blockquote {
	background: linear-gradient(145deg, #151c27, #10161f);
	border-color: var(--border);
	border-radius: var(--radius);
	box-shadow: 0 14px 34px rgba(0, 0, 0, .22);
}

.why .card {
	padding: 20px;
}

.icon {
	color: var(--accent);
}

.product-card {
	background: linear-gradient(145deg, #151c27, #10161f);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	box-shadow: 0 14px 36px rgba(0, 0, 0, .28);
}

.product-card:hover {
	transform: translateY(-4px);
	border-color: #3a4656;
	box-shadow: 0 22px 48px rgba(0, 0, 0, .4);
}

.thumb {
	border-bottom: 1px solid var(--border);
}

.overlay {
	background: rgba(5, 8, 12, .76);
}

.overlay2 {
	background: rgba(5, 8, 12, .68);
}

.details {
	padding: 18px;
}

.details h3 {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 19px;
	font-weight: 750;
	letter-spacing: -.03em;
}

.desc {
	color: var(--muted);
	line-height: 1.5;
}

.desc p::after {
	background: linear-gradient(to right, transparent, #10161f 80%);
}

.meta {
	color: var(--muted);
}

.version {
	height: auto;
	background: #111822;
	border: 1px solid var(--border);
	border-radius: 5px;
	color: #aeb8c5;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .05em;
}

.cats {
	gap: 10px;
}

.cat,
.sorter {
	background: #10161f;
	border-color: var(--border);
	border-radius: 7px;
	color: #aeb8c5;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .04em;
}

.cat:hover,
.sorter:hover {
	transform: translateY(-2px);
	border-color: #3a4656;
	background: #151c27;
}

.cat.active,
.sorter.active {
	background: rgba(255, 90, 0, .13);
	border-color: rgba(255, 90, 0, .48);
	box-shadow: inset 3px 0 var(--accent);
}

.cat.tag {
	background: rgba(255, 90, 0, .13);
	border-color: rgba(255, 90, 0, .3);
	color: #ff9a66;
}

.alpha-nav {
	background: rgba(9, 13, 19, .94);
	border: 1px solid var(--border);
	border-radius: 8px;
	box-shadow: 0 16px 36px rgba(0, 0, 0, .3);
}

.alpha-nav a {
	color: var(--muted);
}

.alpha-nav a:hover {
	background: #151c27;
	color: white;
	text-decoration: none;
}

.alpha-nav a.active {
	background: var(--accent);
	color: white;
}

.productName {
	font-family: Impact, Arial, Helvetica, sans-serif;
	font-size: clamp(48px, 6vw, 76px);
	font-style: normal;
	font-weight: 800;
	letter-spacing: -.01em;
	text-shadow: 0 12px 38px rgba(0, 0, 0, .72);
	-webkit-text-stroke: 0;
	text-transform: uppercase;
}

.hero {
	overflow: hidden;
	padding: 24px;
	background: linear-gradient(145deg, #151c27, #10161f);
	border: 1px solid var(--border);
	border-radius: var(--radius) var(--radius) 0 0;
	box-shadow: var(--shadow);
}

.hero img.main-img {
	border: 1px solid var(--border);
	border-radius: 7px;
}

.hero-info .price {
	color: var(--accent-2);
}

.description,
.features,
.demo,
.featurevideo,
.requirements,
.reviews,
.changelog,
.related {
	padding: 28px;
	background: #0d1219;
	border-right: 1px solid var(--border);
	border-bottom: 1px solid var(--border);
	border-left: 1px solid var(--border);
}

.features,
.reviews,
.related {
	background: #10161f;
}

.description:last-of-type,
.related {
	border-radius: 0 0 var(--radius) var(--radius);
}

.features li::before {
	color: var(--accent-2);
}

.review,
.changelog details {
	background: #111822;
	border: 1px solid var(--border);
	border-radius: 7px;
}

.changelog details[open] {
	border-color: #3a4656;
}

.changelog summary {
	color: #d7dce3;
}

.related .card {
	background: linear-gradient(145deg, #151c27, #10161f);
	border: 1px solid var(--border);
	border-radius: 8px;
	box-shadow: 0 12px 28px rgba(0, 0, 0, .2);
}

.related .card:hover {
	transform: translateY(-3px);
	border-color: #3a4656;
	box-shadow: 0 18px 38px rgba(0, 0, 0, .34);
}

.quickview {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.quickview:hover {
	background: rgba(255, 90, 0, .08);
}

.supportedLogos {
	padding-right: 3px;
	filter: drop-shadow(0 4px 8px rgba(0, 0, 0, .45));
}

@media (max-width: 768px) {
	.hero {
		padding: 18px;
	}

	.description,
	.features,
	.demo,
	.featurevideo,
	.requirements,
	.reviews,
	.changelog,
	.related {
		padding: 22px 18px;
	}

	.productName {
		font-size: 42px;
	}
}


/* PRODUCT SEARCH */
#search {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
	align-items: center;
	margin-bottom: 28px !important;
	padding: 14px;
	background: linear-gradient(145deg, #151c27, #10161f);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	box-shadow: 0 14px 34px rgba(0, 0, 0, .24);
}

#search::before {
	content: "\2315";
	position: absolute;
	top: 50%;
	left: 31px;
	z-index: 1;
	transform: translateY(-50%) rotate(-20deg);
	color: var(--muted);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 21px;
	line-height: 1;
	pointer-events: none;
}

#searchinput {
	width: 100%;
	min-width: 0;
	height: 48px;
	margin: 0 !important;
	padding: 0 16px 0 46px;
	background: #090d13;
	border: 1px solid var(--border);
	border-radius: 7px;
	outline: none;
	color: var(--text);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .02em;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .02);
	transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

#searchinput::placeholder {
	color: #697484;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
	opacity: 1;
}

#searchinput:hover {
	border-color: #35404d;
}

#searchinput:focus {
	background: #0b1016;
	border-color: var(--accent);
	box-shadow: 0 0 0 3px rgba(255, 90, 0, .13);
}

#search:focus-within::before {
	color: var(--accent);
}

#search .btn {
	min-width: 108px;
	height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	padding: 0 20px;
	border-radius: 7px;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .08em;
}

@media (max-width: 576px) {
	#search {
		grid-template-columns: 1fr;
	}

	#search .btn {
		width: 100%;
	}
}
