@charset "utf-8";
/* EzHub - Roblox Script Hub CSS
   Created by JustKondzio0
*/

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

:root {
	--primary: #00ffff;
	--secondary: #ff00ff;
	--accent: #7c3aed;
	--dark: #0a0a0f;
	--darker: #050508;
	--light: #ffffff;
	--gray: #6b7280;
	--success: #00ff88;
	--danger: #ff4444;
}

body {
	font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
	background: var(--dark);
	color: var(--light);
	overflow-x: hidden;
	line-height: 1.6;
}

p a {
	color: var(--accent); 
	text-decoration: none; 
	transition: color 0.3s ease;
}
p a:hover {
	color: var(--success); 
}

/* ============ BACKGROUND ANIMATION ============ */
.bg-animation {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: -1;
	background: linear-gradient(45deg, var(--dark) 0%, var(--darker) 50%, var(--dark) 100%);
}

.neural-network {
	position: absolute;
	width: 100%;
	height: 100%;
	opacity: 0.1;
}

.node {
	position: absolute;
	width: 4px;
	height: 4px;
	background: var(--primary);
	border-radius: 50%;
	animation: pulse 4s infinite;
}

.connection {
	position: absolute;
	height: 1px;
	background: linear-gradient(90deg, var(--primary), transparent);
	animation: flow 6s infinite;
}

@keyframes pulse {
	0%, 100% {
		opacity: 0.3;
		transform: scale(1);
	}
	50% {
		opacity: 1;
		transform: scale(1.2);
	}
}

@keyframes flow {
	0% {
		opacity: 0;
		transform: scaleX(0);
	}
	50% {
		opacity: 1;
		transform: scaleX(1);
	}
	100% {
		opacity: 0;
		transform: scaleX(0);
	}
}

.particles {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.particle {
	position: absolute;
	width: 2px;
	height: 2px;
	background: var(--primary);
	border-radius: 50%;
	animation: floatParticle 10s infinite;
}

@keyframes floatParticle {
	0%, 100% {
		transform: translateY(100vh) translateX(0);
		opacity: 0;
	}
	10% {
		opacity: 1;
	}
	90% {
		opacity: 1;
	}
	100% {
		transform: translateY(-100px) translateX(100px);
		opacity: 0;
	}
}

/* ============ HEADER & NAVIGATION ============ */
header {
	position: fixed;
	top: 0;
	width: 100%;
	background: rgba(10, 10, 15, 0.9);
	backdrop-filter: blur(20px);
	z-index: 1000;
	transition: all 0.3s ease;
	border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1rem 2rem;
	max-width: 1400px;
	margin: 0 auto;
}

.logo {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	text-decoration: none;
	transition: transform 0.3s ease;
}

.logo:hover {
	transform: translateY(-2px);
}

.logo-icon {
	font-size: 2rem;
	color: var(--primary);
}

.logo-text {
	font-size: 1.5rem;
	font-weight: bold;
	background: linear-gradient(45deg, var(--primary), var(--secondary));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.nav-links {
	display: flex;
	list-style: none;
	gap: 0.5rem;
}

.nav-links a {
	color: rgba(255, 255, 255, 0.8);
	text-decoration: none;
	transition: all 0.3s ease;
	position: relative;
	padding: 0.6rem 1.2rem;
	border-radius: 25px;
	font-weight: 500;
	font-size: 0.95rem;
	background: transparent;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.nav-links a:hover {
	color: var(--light);
	background: rgba(255, 255, 255, 0.05);
}

.nav-links a.active {
	color: var(--dark);
	background: linear-gradient(45deg, var(--primary), var(--accent));
	font-weight: 600;
}

.nav-links a i {
	font-size: 1rem;
}

.mobile-menu {
	display: none;
	flex-direction: column;
	cursor: pointer;
	z-index: 1001;
	padding: 0.5rem;
	border-radius: 8px;
	transition: background 0.3s ease;
}

.mobile-menu:hover {
	background: rgba(255, 255, 255, 0.05);
}

.mobile-menu span {
	width: 25px;
	height: 2px;
	background: var(--light);
	margin: 3px 0;
	transition: 0.3s;
	border-radius: 2px;
}

.mobile-menu.active span:nth-child(1) {
	transform: rotate(-45deg) translate(-5px, 6px);
}

.mobile-menu.active span:nth-child(2) {
	opacity: 0;
}

.mobile-menu.active span:nth-child(3) {
	transform: rotate(45deg) translate(-5px, -6px);
}

.mobile-nav {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background: linear-gradient(135deg, rgba(10, 10, 15, 0.98), rgba(20, 20, 30, 0.98));
	backdrop-filter: blur(20px);
	z-index: 1000;
	padding-top: 80px;
}

.mobile-nav.active {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
}

.mobile-nav a {
	color: rgba(255, 255, 255, 0.9);
	text-decoration: none;
	font-size: 1.2rem;
	margin: 0.5rem 0;
	padding: 1rem 2rem;
	border-radius: 30px;
	transition: all 0.3s ease;
	background: rgba(255, 255, 255, 0.03);
	backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.05);
	min-width: 250px;
	text-align: center;
	font-weight: 500;
	position: relative;
	overflow: hidden;
}

.mobile-nav a:hover {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(0, 255, 255, 0.3);
	color: var(--primary);
	transform: scale(1.02);
}

.mobile-nav a.active {
	background: linear-gradient(45deg, var(--primary), var(--accent));
	color: var(--dark);
	font-weight: 600;
	border-color: transparent;
}

/* ============ HERO SECTION ============ */
.hero {
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	position: relative;
	overflow: hidden;
	padding-top: 80px;
}

.hero-content {
	max-width: 900px;
	padding: 2rem;
	z-index: 2;
}

.hero-icon {
	font-size: 5rem;
	margin-bottom: 2rem;
	animation: floatIcon 3s ease-in-out infinite;
}

.hero-icon i {
	background: linear-gradient(45deg, var(--primary), var(--secondary));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	filter: drop-shadow(0 0 30px rgba(0, 255, 255, 0.5));
}

@keyframes floatIcon {
	0%, 100% {
		transform: translateY(0px);
	}
	50% {
		transform: translateY(-20px);
	}
}

.hero h1 {
	font-size: clamp(2.5rem, 5vw, 4rem);
	margin-bottom: 1rem;
	line-height: 1.2;
}

.gradient-text {
	background: linear-gradient(45deg, var(--primary), var(--secondary), var(--accent));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	animation: glow 2s ease-in-out infinite alternate;
}

@keyframes glow {
	from {
		filter: drop-shadow(0 0 20px rgba(0, 255, 255, 0.3));
	}
	to {
		filter: drop-shadow(0 0 30px rgba(255, 0, 255, 0.5));
	}
}

.hero p {
	font-size: 1.2rem;
	color: var(--gray);
	margin-bottom: 2rem;
}

.hero-description {
	font-size: 1.1rem;
	color: var(--gray);
	margin-bottom: 3rem;
	line-height: 1.8;
}

.hero-stats {
	display: flex;
	justify-content: center;
	gap: 3rem;
	margin: 2rem 0;
	flex-wrap: wrap;
}

.stat {
	text-align: center;
}

.stat-number {
	font-size: 2.5rem;
	font-weight: bold;
	color: var(--primary);
	display: block;
}

.stat-label {
	color: var(--gray);
	font-size: 0.9rem;
}

.cta-buttons {
	display: flex;
	gap: 1rem;
	justify-content: center;
	flex-wrap: wrap;
}

.btn {
	padding: 1rem 2rem;
	border: none;
	border-radius: 50px;
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.3s ease;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}

.btn i {
	font-size: 1rem;
}

.btn-primary {
	background: linear-gradient(45deg, var(--primary), var(--accent));
	color: var(--dark);
}

.btn-primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 30px rgba(0, 255, 255, 0.3);
}

.btn-secondary {
	background: transparent;
	color: var(--light);
	border: 2px solid var(--primary);
}

.btn-secondary:hover {
	background: var(--primary);
	color: var(--dark);
}

/* ============ SECTIONS ============ */
.section {
	padding: 5rem 2rem;
	max-width: 1400px;
	margin: 0 auto;
	position: relative;
}

.section h2 {
	font-size: clamp(2rem, 4vw, 3rem);
	text-align: center;
	margin-bottom: 3rem;
	background: linear-gradient(45deg, var(--primary), var(--secondary));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

/* ============ ABOUT / FEATURES SECTION ============ */
.about-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 2rem;
	margin-top: 2rem;
}

.about-stat {
	background: rgba(255, 255, 255, 0.05);
	backdrop-filter: blur(10px);
	padding: 2rem;
	border-radius: 15px;
	text-align: center;
	border: 1px solid rgba(0, 255, 255, 0.2);
	transition: all 0.3s ease;
}

.about-stat:hover {
	transform: translateY(-10px);
	border-color: var(--primary);
	box-shadow: 0 10px 30px rgba(0, 255, 255, 0.2);
}

.about-stat i {
	display: block;
	margin-bottom: 1rem;
}

.about-stat-number {
	font-size: 2rem;
	font-weight: bold;
	color: var(--primary);
	display: block;
	margin-bottom: 0.5rem;
}

.about-stat-label {
	color: var(--light);
	font-size: 1.1rem;
	font-weight: 600;
}

/* ============ SCRIPTS SECTION ============ */
.search-section {
	max-width: 900px;
	margin: 0 auto 3rem;
}

.search-bar {
	position: relative;
	margin-bottom: 2rem;
}

.search-bar i {
	position: absolute;
	left: 1.5rem;
	top: 50%;
	transform: translateY(-50%);
	color: var(--gray);
	font-size: 1.2rem;
}

.search-bar input {
	width: 100%;
	padding: 1rem 1.5rem 1rem 3.5rem;
	background: rgba(255, 255, 255, 0.08);
	border: 2px solid rgba(255, 255, 255, 0.15);
	border-radius: 50px;
	color: var(--light);
	font-size: 1rem;
	transition: all 0.3s ease;
	font-family: inherit;
}

.search-bar input::placeholder {
	color: var(--gray);
}

.search-bar input:focus {
	outline: none;
	border-color: var(--primary);
	background: rgba(255, 255, 255, 0.12);
	box-shadow: 0 0 20px rgba(0, 255, 255, 0.2);
}

.filter-buttons {
	display: flex;
	justify-content: center;
	gap: 1rem;
	flex-wrap: wrap;
}

.filter-btn {
	padding: 0.8rem 1.5rem;
	background: rgba(255, 255, 255, 0.05);
	color: var(--gray);
	border: 2px solid rgba(255, 255, 255, 0.1);
	border-radius: 25px;
	cursor: pointer;
	transition: all 0.3s ease;
	font-size: 0.95rem;
	font-weight: 500;
}

.filter-btn:hover {
	background: rgba(255, 255, 255, 0.08);
	color: var(--light);
}

.filter-btn.active {
	background: linear-gradient(45deg, var(--primary), var(--accent));
	color: var(--dark);
	border-color: transparent;
	transform: scale(1.05);
}

/* ============ SCRIPTS GRID ============ */
.scripts-grid,
.scripts-preview-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 2rem;
	margin-top: 2rem;
}

.script-card {
	background: rgba(255, 255, 255, 0.05);
	backdrop-filter: blur(10px);
	border-radius: 20px;
	overflow: hidden;
	border: 1px solid rgba(0, 255, 255, 0.1);
	transition: all 0.3s ease;
	position: relative;
}

.script-card:hover {
	transform: translateY(-10px);
	box-shadow: 0 20px 40px rgba(0, 255, 255, 0.2);
	border-color: var(--primary);
}

.new-badge {
	position: absolute;
	top: 1rem;
	left: 1rem;
	background: linear-gradient(45deg, var(--primary), var(--secondary)); 
	color: var(--dark); 
	padding: 0.4rem 1rem;
	border-radius: 20px;
	font-size: 0.8rem;
	font-weight: bold;
	z-index: 10;
	text-transform: uppercase;
	letter-spacing: 1px;
    filter: drop-shadow(0 0 5px rgba(0,0,0,0.5));
    border: 1px solid var(--primary); 
}



.script-image {
	width: 100%;
	height: 200px;
	background-size: cover;
	background-position: center;
	position: relative;
	overflow: hidden;
}

.script-image::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.7));
}

.script-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.8);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.script-card:hover .script-overlay {
	opacity: 1;
}

.copy-script-btn {
	padding: 0.8rem 1.5rem;
	font-size: 0.9rem;
}

.script-info {
	padding: 1.5rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.script-name {
	font-size: 1.2rem;
	font-weight: bold;
	color: var(--light);
	margin: 0;
}

.script-badge {
	padding: 0.3rem 0.8rem;
	border-radius: 15px;
	font-size: 0.75rem;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.script-badge.free {
	background: rgba(0, 255, 136, 0.2);
	color: var(--success);
	border: 1px solid var(--success);
}

.script-badge.premium {
	background: rgba(124, 58, 237, 0.2);
	color: var(--accent);
	border: 1px solid var(--accent);
}

.script-badge.new {
	background: rgba(255, 0, 255, 0.2);
	color: var(--secondary);
	border: 1px solid var(--secondary);
}

/* ============ EXECUTORS PAGE ============ */
.executor-category {
	margin-bottom: 4rem;
}

.category-title {
	font-size: 2rem;
	margin-bottom: 2rem;
	display: flex;
	align-items: center;
	gap: 1rem;
	color: var(--light);
}

.category-title i {
	color: var(--primary);
}

.executors-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 2rem;
}

.executor-card {
	background: rgba(255, 255, 255, 0.05);
	backdrop-filter: blur(10px);
	border-radius: 20px;
	padding: 2rem;
	border: 1px solid rgba(0, 255, 255, 0.1);
	transition: all 0.3s ease;
	position: relative;
}

.executor-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 15px 30px rgba(0, 255, 255, 0.2);
	border-color: var(--primary);
}

.executor-card.recommended {
	border-color: var(--success);
	background: rgba(0, 255, 136, 0.05);
}

.recommended-badge {
	position: absolute;
	top: -12px;
	right: 20px;
	background: linear-gradient(45deg, var(--success), #00cc66);
	color: var(--dark);
	padding: 0.4rem 1rem;
	border-radius: 20px;
	font-size: 0.75rem;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.executor-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1rem;
}

.executor-header h4 {
	font-size: 1.5rem;
	color: var(--light);
}

.price-badge {
	padding: 0.4rem 1rem;
	border-radius: 15px;
	font-size: 0.8rem;
	font-weight: bold;
}

.price-badge.free {
	background: rgba(0, 255, 136, 0.2);
	color: var(--success);
	border: 1px solid var(--success);
}

.price-badge.paid {
	background: rgba(255, 0, 255, 0.2);
	color: var(--secondary);
	border: 1px solid var(--secondary);
}

.executor-tags {
	display: flex;
	gap: 0.5rem;
	margin-bottom: 1rem;
	flex-wrap: wrap;
}

.tag {
	padding: 0.3rem 0.8rem;
	background: rgba(255, 255, 255, 0.1);
	border-radius: 12px;
	font-size: 0.8rem;
	color: var(--gray);
}

.executor-features {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-bottom: 1.5rem;
}

.feature-badge {
	padding: 0.5rem 1rem;
	background: rgba(0, 255, 255, 0.1);
	border-radius: 10px;
	font-size: 0.85rem;
	color: var(--primary);
	border: 1px solid rgba(0, 255, 255, 0.2);
}

.executor-btn {
	width: 100%;
	justify-content: center;
}

/* ============ PREMIUM PAGE ============ */
.premium-header {
	text-align: center;
	margin-bottom: 4rem;
}

.premium-header h1 {
	font-size: clamp(2.5rem, 5vw, 4rem);
	margin-bottom: 1rem;
}

.premium-header p {
	font-size: 1.2rem;
	color: var(--gray);
	max-width: 700px;
	margin: 0 auto;
}

.premium-note {
	background: rgba(0, 150, 255, 0.1);
	border: 1px solid rgba(0, 150, 255, 0.3);
	border-radius: 15px;
	padding: 1.5rem;
	margin-bottom: 3rem;
	display: flex;
	align-items: center;
	gap: 1rem;
}

.premium-note i {
	font-size: 1.5rem;
	color: #0096ff;
}

.premium-plans {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 2rem;
	max-width: 1000px;
	margin: 0 auto;
}

.plan-card {
	background: rgba(255, 255, 255, 0.05);
	backdrop-filter: blur(10px);
	border-radius: 25px;
	padding: 3rem 2rem;
	border: 2px solid rgba(255, 255, 255, 0.1);
	transition: all 0.3s ease;
	text-align: center;
	position: relative;
}

.plan-card.recommended {
	border-color: var(--accent);
	background: rgba(124, 58, 237, 0.1);
	transform: scale(1.05);
}

.plan-card:hover {
	transform: translateY(-10px) scale(1.02);
	box-shadow: 0 20px 40px rgba(0, 255, 255, 0.2);
}

.plan-card.recommended:hover {
	transform: translateY(-10px) scale(1.07);
}

.recommended-label {
	position: absolute;
	top: -15px;
	left: 50%;
	transform: translateX(-50%);
	background: linear-gradient(45deg, var(--accent), var(--secondary));
	color: var(--light);
	padding: 0.5rem 1.5rem;
	border-radius: 20px;
	font-size: 0.8rem;
	font-weight: bold;
	text-transform: uppercase;
}

.plan-name {
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 1rem;
	color: var(--light);
}

.plan-price {
	font-size: 3rem;
	font-weight: bold;
	color: var(--primary);
	margin-bottom: 0.5rem;
}

.plan-price span {
	font-size: 1.2rem;
	color: var(--gray);
}

.plan-duration {
	color: var(--gray);
	margin-bottom: 2rem;
}

.plan-features {
	list-style: none;
	margin-bottom: 2rem;
	text-align: left;
}

.plan-features li {
	padding: 0.8rem 0;
	color: var(--gray);
	display: flex;
	align-items: center;
	gap: 0.8rem;
}

.plan-features li i {
	color: var(--success);
	font-size: 1rem;
}

.buy-btn {
	width: 100%;
	padding: 1rem 2rem;
	font-size: 1.1rem;
}

/* ============ GET KEY PAGE ============ */
.get-key-container {
	max-width: 800px;
	margin: 0 auto;
	text-align: center;
}

.key-methods {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 2rem;
	margin-top: 3rem;
}

.key-method-card {
	background: rgba(255, 255, 255, 0.05);
	backdrop-filter: blur(10px);
	border-radius: 25px;
	padding: 3rem 2rem;
	border: 2px solid rgba(255, 255, 255, 0.1);
	transition: all 0.3s ease;
	cursor: pointer;
}

.key-method-card:hover {
	transform: translateY(-10px);
	border-color: var(--primary);
	box-shadow: 0 20px 40px rgba(0, 255, 255, 0.2);
}

.key-method-card.recommended {
	border-color: var(--accent);
	background: rgba(124, 58, 237, 0.1);
}

.key-icon {
	width: 80px;
	height: 80px;
	margin: 0 auto 1.5rem;
	background: linear-gradient(45deg, var(--primary), var(--accent));
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2rem;
}

.key-method-card.recommended .key-icon {
	background: linear-gradient(45deg, var(--accent), var(--secondary));
}

.key-method-name {
	font-size: 1.8rem;
	font-weight: bold;
	margin-bottom: 1rem;
	color: var(--light);
}

.key-method-price {
	font-size: 2.5rem;
	font-weight: bold;
	color: var(--primary);
	margin-bottom: 0.5rem;
}

.key-method-desc {
	color: var(--gray);
	margin-bottom: 1.5rem;
}

.key-display {
	margin-top: 3rem;
	padding: 2rem;
	background: rgba(255, 255, 255, 0.05);
	border-radius: 15px;
	border: 2px solid var(--primary);
	display: none;
}

.key-display.show {
	display: block;
	animation: slideIn 0.4s ease;
}

.key-text {
	font-size: 1.5rem;
	font-weight: bold;
	color: var(--primary);
	font-family: 'Courier New', monospace;
	letter-spacing: 2px;
	word-break: break-all;
	padding: 1rem;
	background: rgba(0, 0, 0, 0.3);
	border-radius: 10px;
	margin-top: 1rem;
}

/* ============ NOTIFICATIONS ============ */
.notification {
	position: fixed;
	top: 100px;
	right: 2rem;
	background: rgba(0, 0, 0, 0.9);
	backdrop-filter: blur(10px);
	padding: 1rem 1.5rem;
	border-radius: 15px;
	border: 2px solid;
	display: flex;
	align-items: center;
	gap: 1rem;
	z-index: 10000;
	transform: translateX(400px);
	opacity: 0;
	transition: all 0.3s ease;
}

.notification.show {
	transform: translateX(0);
	opacity: 1;
}

.notification.success {
	border-color: var(--success);
	color: var(--success);
}

.notification.error {
	border-color: var(--danger);
	color: var(--danger);
}

.notification i {
	font-size: 1.5rem;
}

/* ============ FOOTER ============ */
footer {
	background: var(--darker);
	padding: 3rem 2rem 1rem;
	text-align: center;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	margin-top: 5rem;
}

footer h2 {
	font-size: 2rem;
	margin-bottom: 1rem;
	background: linear-gradient(45deg, var(--primary), var(--secondary));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

footer p {
	margin-top: 2rem; 
	color: var(--gray); 
	font-size: 0.9rem;
}

footer p a {
	color: var(--primary); 
	text-decoration: none; 
	transition: color 0.3s ease;
}

footer p a:hover {
	color: var(--secondary); 
}

.footer-content {
	max-width: 1200px;
	margin: 0 auto;
}

.social-links {
	display: flex;
	justify-content: center;
	gap: 1rem;
	margin: 2rem 0;
}

.social-link {
	width: 50px;
	height: 50px;
	background: linear-gradient(45deg, var(--primary), var(--accent));
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	color: var(--dark);
	font-size: 1.2rem;
	transition: all 0.3s ease;
}

.social-link:hover {
	transform: translateY(-5px) scale(1.1);
	box-shadow: 0 10px 20px rgba(0, 255, 255, 0.3);
}

/* ============ SCROLL ANIMATIONS ============ */
.animate-on-scroll {
	opacity: 0;
	transform: translateY(50px);
	transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.animate-on-scroll.animated {
	opacity: 1;
	transform: translateY(0);
}

.animate-on-scroll.slide-left {
	transform: translateX(-50px);
}

.animate-on-scroll.slide-left.animated {
	transform: translateX(0);
}

.animate-on-scroll.slide-right {
	transform: translateX(50px);
}

.animate-on-scroll.slide-right.animated {
	transform: translateX(0);
}

.animate-on-scroll.scale-up {
	transform: scale(0.8);
}

.animate-on-scroll.scale-up.animated {
	transform: scale(1);
}

.stagger-animation {
	animation-delay: calc(var(--stagger) * 0.1s);
}

/* ============ PAGE HEADER ============ */
.page-header {
	padding: 8rem 2rem 3rem;
	text-align: center;
	background: linear-gradient(135deg, rgba(0, 255, 255, 0.05), rgba(255, 0, 255, 0.05));
}

.page-header h1 {
	font-size: clamp(2.5rem, 5vw, 4rem);
	margin-bottom: 1rem;
	background: linear-gradient(45deg, var(--primary), var(--secondary));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.page-header p {
	font-size: 1.2rem;
	color: var(--gray);
	max-width: 700px;
	margin: 0 auto;
}

/* ============ ADMIN PANEL (Optional) ============ */
.admin-panel {
	max-width: 800px;
	margin: 0 auto;
	padding: 2rem;
}

.admin-form {
	background: rgba(255, 255, 255, 0.05);
	backdrop-filter: blur(10px);
	border-radius: 20px;
	padding: 2rem;
	border: 1px solid rgba(0, 255, 255, 0.1);
}

.form-group {
	margin-bottom: 1.5rem;
}

.form-group label {
	display: block;
	color: var(--light);
	font-weight: 500;
	margin-bottom: 0.5rem;
}

.form-group input,
.form-group textarea,
.form-group select {
	width: 100%;
	padding: 0.8rem 1rem;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 10px;
	color: var(--light);
	font-size: 1rem;
	font-family: inherit;
	transition: all 0.3s ease;
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
	outline: none;
	border-color: var(--primary);
	background: rgba(255, 255, 255, 0.12);
	box-shadow: 0 0 15px rgba(0, 255, 255, 0.2);
}

.form-group textarea {
	resize: vertical;
	min-height: 100px;
}

.checkbox-group {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.checkbox-group input[type="checkbox"] {
	width: auto;
	cursor: pointer;
}

/* ============ LOADING SPINNER ============ */
.loading {
	display: inline-block;
	width: 20px;
	height: 20px;
	border: 3px solid rgba(255, 255, 255, 0.3);
	border-radius: 50%;
	border-top-color: var(--primary);
	animation: spin 1s ease-in-out infinite;
}

@keyframes spin {
	to { transform: rotate(360deg); }
}

/* ============ RESPONSIVE DESIGN ============ */
@media (max-width: 768px) {
	.nav-links {
		display: none;
	}

	.mobile-menu {
		display: flex;
	}

	.hero {
		padding-top: 100px;
		min-height: auto;
		padding-bottom: 3rem;
	}

	.hero-content {
		padding: 1rem;
	}

	.hero-icon {
		font-size: 3rem;
		margin-bottom: 1rem;
	}

	.hero h1 {
		font-size: 2rem;
	}

	.hero-stats {
		gap: 1.5rem;
	}

	.stat-number {
		font-size: 1.8rem;
	}

	.stat-label {
		font-size: 0.8rem;
	}

	.cta-buttons {
		flex-direction: column;
		align-items: center;
		gap: 1rem;
	}

	.btn {
		width: 100%;
		max-width: 280px;
		justify-content: center;
	}

	.section {
		padding: 3rem 1rem;
	}

	.section h2 {
		font-size: 1.8rem;
		margin-bottom: 2rem;
	}

	.about-stats {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.scripts-grid,
	.scripts-preview-grid {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.script-image {
		height: 180px;
	}

	.search-section {
		padding: 0 1rem;
	}

	.filter-buttons {
		gap: 0.5rem;
	}

	.filter-btn {
		padding: 0.6rem 1rem;
		font-size: 0.85rem;
	}

	.executors-grid {
		grid-template-columns: 1fr;
	}

	.premium-plans {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.plan-card.recommended {
		transform: scale(1);
	}

	.plan-card:hover,
	.plan-card.recommended:hover {
		transform: translateY(-5px) scale(1);
	}

	.key-methods {
		grid-template-columns: 1fr;
	}

	.page-header {
		padding: 6rem 1rem 2rem;
	}

	.page-header h1 {
		font-size: 2rem;
	}

	.page-header p {
		font-size: 1rem;
	}

	.notification {
		right: 1rem;
		left: 1rem;
		top: 80px;
	}

	.social-links {
		gap: 0.8rem;
	}

	.social-link {
		width: 45px;
		height: 45px;
		font-size: 1rem;
	}

	footer h2 {
		font-size: 1.5rem;
	}

	footer p {
		font-size: 0.8rem;
	}
}

@media (max-width: 480px) {
	.hero h1 {
		font-size: 1.8rem;
	}

	.hero p {
		font-size: 1rem;
	}

	.hero-description {
		font-size: 0.95rem;
	}

	.hero-stats {
		gap: 1rem;
	}

	.stat-number {
		font-size: 1.5rem;
	}

	.script-card {
		border-radius: 15px;
	}

	.script-image {
		height: 160px;
	}

	.script-name {
		font-size: 1rem;
	}

	.plan-price {
		font-size: 2.5rem;
	}

	.plan-name {
		font-size: 1.5rem;
	}

	.key-method-name {
		font-size: 1.5rem;
	}

	.key-method-price {
		font-size: 2rem;
	}

	.key-icon {
		width: 60px;
		height: 60px;
		font-size: 1.5rem;
	}
}

/* ============ UTILITY CLASSES ============ */
.text-center {
	text-align: center;
}

.text-primary {
	color: var(--primary);
}

.text-secondary {
	color: var(--secondary);
}

.text-gray {
	color: var(--gray);
}

.mt-1 { margin-top: 0.5rem; }
.mt-2 { margin-top: 1rem; }
.mt-3 { margin-top: 1.5rem; }
.mt-4 { margin-top: 2rem; }
.mt-5 { margin-top: 3rem; }

.mb-1 { margin-bottom: 0.5rem; }
.mb-2 { margin-bottom: 1rem; }
.mb-3 { margin-bottom: 1.5rem; }
.mb-4 { margin-bottom: 2rem; }
.mb-5 { margin-bottom: 3rem; }

.hidden {
	display: none !important;
}

.visible {
	display: block !important;
}

/* ============ SMOOTH SCROLLBAR ============ */
::-webkit-scrollbar {
	width: 10px;
}

::-webkit-scrollbar-track {
	background: var(--darker);
}

::-webkit-scrollbar-thumb {
	background: linear-gradient(45deg, var(--primary), var(--accent));
	border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
	background: linear-gradient(45deg, var(--accent), var(--secondary));
}

/* ============ SELECTION ============ */
::selection {
	background: var(--primary);
	color: var(--dark);
}

::-moz-selection {
	background: var(--primary);
	color: var(--dark);
}

/* ============ STATUS LEGEND ============ */
.status-legend {
    max-width: 800px;
    margin: 0 auto;
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
    border-radius: 20px;
    padding: 2rem;
    border: 1px solid rgba(0, 255, 255, 0.1);
}

.status-items {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
}

.status-item {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    color: var(--gray);
    font-size: 0.9rem;
}

.status-dot {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    flex-shrink: 0;
}

.status-working {
    background: #00ff88;
    box-shadow: 0 0 10px #00ff88;
}

.status-needs-update {
    background: #ffcc00;
    box-shadow: 0 0 10px #ffcc00;
}

.status-broken {
    background: #ff4444;
    box-shadow: 0 0 10px #ff4444;
}

.status-discontinued {
    background: #666666;
    box-shadow: 0 0 10px #666666;
}

/* ============ SCRIPT STATUS INDICATOR ============ */
.script-status-indicator {
    position: absolute;
    top: 1rem;
    right: 1rem;
    font-size: 1.5rem;
    z-index: 10;
    filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.8));
    animation: statusPulse 2s ease-in-out infinite;
}

@keyframes statusPulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.1);
    }
}

/* ============ GET KEY CONTAINER ============ */
.get-key-container {
    max-width: 1000px;
    margin: 0 auto;
}

.key-methods {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-bottom: 4rem;
}

/* ============ HELP SECTION ============ */
.help-section {
    max-width: 600px;
    margin: 3rem auto;
}

.help-card {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
    border-radius: 25px;
    padding: 3rem 2rem;
    text-align: center;
    border: 1px solid rgba(0, 255, 255, 0.1);
    transition: all 0.3s ease;
}

.help-card:hover {
    transform: translateY(-5px);
    border-color: var(--primary);
    box-shadow: 0 15px 30px rgba(0, 255, 255, 0.2);
}

.help-card h3 {
    font-size: 1.8rem;
    margin-bottom: 1rem;
    color: var(--light);
}

/* ============ INFO CARDS ============ */
.info-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.info-card {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
    border-radius: 15px;
    padding: 2rem;
    text-align: center;
    border: 1px solid rgba(0, 255, 255, 0.1);
    transition: all 0.3s ease;
}

.info-card:hover {
    transform: translateY(-5px);
    border-color: var(--primary);
    box-shadow: 0 10px 20px rgba(0, 255, 255, 0.15);
}

.info-card i {
    font-size: 2.5rem;
    color: var(--primary);
    margin-bottom: 1rem;
    display: block;
}

.info-card h4 {
    font-size: 1.2rem;
    margin-bottom: 0.5rem;
    color: var(--light);
}

.info-card p {
    color: var(--gray);
    font-size: 0.9rem;
}

@media (max-width: 768px) {
    .status-legend {
        padding: 1.5rem;
    }

    .status-items {
        grid-template-columns: 1fr;
        gap: 0.8rem;
    }

    .help-card {
        padding: 2rem 1.5rem;
    }

    .info-cards {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .key-methods {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
}

.script-type-badge {
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    padding: 0.4rem 1rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
    z-index: 10;
    filter: drop-shadow(0 0 5px rgba(0,0,0,0.5));
}

.script-type-badge.free {
    background: #00ff88; 
    color: var(--dark);
    border: 1px solid #00ff88;
}

.script-type-badge.paid {
    background: #7c3aed; 
    color: var(--light);
    border: 1px solid #7c3aed;
}

@media (max-width: 480px) {
    .script-type-badge {
        font-size: 0.7rem;
        padding: 0.3rem 0.8rem;
        bottom: 0.8rem;
        right: 0.8rem;
    }
}

/* ============ RAT TAG / DONT USE BUTTON ============ */
.price-badge.rat {
    background: linear-gradient(45deg, #ff4444, #cc0000); /* Czerwony gradient */
    color: var(--light);
    border: 1px solid #ff4444;
}

.btn-danger {
    background: linear-gradient(45deg, #ff4444, #cc0000); /* Czerwony gradient */
    color: var(--light);
}

.btn-danger:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(255, 68, 68, 0.3);
}


/* ============ EXECUTOR CARD ENHANCEMENTS ============ */
.executor-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* Rozkłada elementy równomiernie */
    height: auto; /* Wysokość dopasowuje się do zawartości */
    min-height: 280px; /* Minimalna wysokość karty */
    padding-bottom: 1.5rem; /* Większy padding na dole */
}

.executor-header {
    flex-wrap: wrap; /* Pozwala na zawijanie elementów */
    align-items: flex-start; /* Dopasowuje do góry */
    margin-bottom: 1rem;
}

.executor-header h4 {
    margin-right: auto; /* Przesuwa cenę na prawo */
    line-height: 1.2;
}

.price-badge {
    margin-top: 0.2rem; /* Mały margines, żeby nie nachodziło */
}

.executor-tags, .executor-features {
    display: flex;
    flex-wrap: wrap; /* Ważne dla uniknięcia nachodzenia */
    gap: 0.5rem;
    margin-bottom: 1rem;
    align-items: center;
}

.feature-badge {
    padding: 0.4rem 0.8rem; /* Mniejszy padding dla feature-badge */
    font-size: 0.8rem;
    white-space: nowrap; /* Zapobiega łamaniu tekstu */
}

.executor-links {
    display: flex;
    flex-wrap: wrap; /* Pozwala na zawijanie przycisków */
    gap: 0.8rem;
    margin-top: auto; /* Przyciska linki do dołu karty */
    padding-top: 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.05); /* Separator */
}

.executor-links .btn {
    flex: 1 1 auto; /* Przyciski rozciągają się i zawijają */
    min-width: 100px; /* Minimalna szerokość przycisku */
    font-size: 0.9rem;
    padding: 0.8rem 1rem;
    justify-content: center; /* Wyśrodkowanie tekstu */
}

.btn-secondary.small-btn {
    background: rgba(255, 255, 255, 0.05);
    color: var(--light);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.btn-secondary.small-btn:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: var(--primary);
}

/* ============ RAT TAG / DONT USE BUTTON ============ */
.price-badge.rat {
    background: linear-gradient(45deg, #ff4444, #cc0000); 
    color: var(--light);
    border: 1px solid #ff4444;
}

.executor-card.rat-card {
    border-color: var(--danger); 
    background: rgba(255, 68, 68, 0.05); 
}

.executor-card.rat-card:hover {
    box-shadow: 0 15px 30px rgba(255, 68, 68, 0.3);
    border-color: var(--danger);
}

.tag.tag-danger {
    background: rgba(255, 68, 68, 0.2);
    color: var(--danger);
    border: 1px solid var(--danger);
}

.warning-text {
    color: var(--danger);
    font-weight: bold;
    text-align: center;
    margin-bottom: 1rem;
    font-size: 1rem;
}

.btn-danger {
    background: linear-gradient(45deg, #ff4444, #cc0000); 
    color: var(--light);
}

.btn-danger:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(255, 68, 68, 0.3);
}

/* ============ UPROSZCZONE KARTY EXECUTORÓW (JAK NA SCREENIE) ============ */

/* Ogólne poprawki dla karty */
.executor-card {
    display: flex; /* Zmieniamy na flex */
    flex-direction: column; /* Elementy w kolumnie */
    justify-content: space-between; /* Rozkłada elementy równomiernie */
    padding: 1.2rem; /* Zmniejszony padding */
    min-height: 180px; /* Minimalna wysokość karty */
    height: auto; /* Wysokość dopasowuje się do zawartości */
}

/* Nagłówek karty */
.executor-header {
    margin-bottom: 0.5rem; /* Mniejszy margines */
}

.executor-header h4 {
    font-size: 1.3rem; /* Trochę mniejszy tytuł */
}

.price-badge {
    font-size: 0.7rem; /* Mniejszy rozmiar badge'a ceny */
    padding: 0.3rem 0.7rem;
}

/* Detale (sUNC, UNC, Decompiler, Multi-Inject) */
.executor-features-list { /* Nowa klasa dla listy detali */
    display: flex;
    flex-direction: column; /* Detale nad sobą */
    gap: 0.2rem; /* Mniejszy odstęp między detalami */
    margin-bottom: 0.8rem; /* Margines po detalach */
    padding-top: 0.5rem; /* Padding-top dla oddzielenia */
    border-top: 1px solid rgba(255, 255, 255, 0.05); /* Separator */
}

.executor-features-list .detail-text { /* Styl dla pojedynczego detalu */
    font-size: 0.8rem; /* Mniejszy font */
    color: var(--gray); /* Szary kolor */
    white-space: nowrap; /* Zapobiega łamaniu tekstu */
    display: flex;
    align-items: center;
    gap: 0.4rem; /* Odstęp między ikoną a tekstem */
}

.executor-features-list .detail-text .check-icon {
    color: var(--primary); /* Ikona niebieska */
    font-size: 0.8rem;
}

/* Przycisk "Website" */
.executor-btn-small { /* Mniejszy przycisk */
    width: auto; /* Szerokość dopasowana do treści */
    max-width: 150px; /* Maksymalna szerokość */
    font-size: 0.85rem; /* Mniejszy font */
    padding: 0.6rem 1.2rem; /* Mniejszy padding */
    margin-top: auto; /* Przyciska przycisk do dołu karty */
    justify-content: center; /* Wyśrodkowanie tekstu */
}

/* Specjalne style dla RAT cards */
.executor-card.rat-card .executor-features-list {
    flex-direction: column; /* Detale RAT w pionie */
    align-items: flex-start;
}

.executor-card.rat-card .warning-text {
    margin-bottom: 0.5rem;
    text-align: left;
    padding: 0;
    border: none;
    background: none;
    color: var(--danger);
}

/* ============ RAT TAG / DONT USE BUTTON ============ */
.price-badge.rat {
    background: linear-gradient(45deg, #ff4444, #cc0000); /* Czerwony gradient */
    color: var(--light);
    border: 1px solid #ff4444;
}

.executor-card.rat-card {
    border-color: var(--danger); /* Czerwona ramka dla RAT card */
    background: rgba(255, 68, 68, 0.05); /* Lekko czerwone tło */
}

.executor-card.rat-card:hover {
    box-shadow: 0 15px 30px rgba(255, 68, 68, 0.3);
    border-color: var(--danger);
}

.tag.tag-danger {
    background: rgba(255, 68, 68, 0.2);
    color: var(--danger);
    border: 1px solid var(--danger);
}

.warning-text {
    color: var(--danger);
    font-weight: bold;
    text-align: center;
    margin-bottom: 1rem;
    font-size: 1rem;
    padding: 0.5rem;
    border: 1px solid var(--danger);
    border-radius: 8px;
    background: rgba(255, 68, 68, 0.1);
}

.btn-danger.executor-btn-small {
    background: linear-gradient(45deg, #ff4444, #cc0000);
    color: var(--light);
}

.btn-danger.executor-btn-small:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(255, 68, 68, 0.3);
}

/* ============ RESPONSIVE IMPROVEMENTS ============ */
@media (max-width: 768px) {
    .executor-card {
        min-height: auto;
        padding: 1rem;
    }
    .executor-header h4 {
        font-size: 1.2rem;
    }
    .price-badge {
        font-size: 0.7rem;
        padding: 0.2rem 0.6rem;
    }
    .executor-features-list .detail-text {
        font-size: 0.75rem;
    }
    .executor-btn-small {
        font-size: 0.8rem;
        padding: 0.6rem 1rem;
        max-width: none;
    }
}

@media (max-width: 480px) {
    .executor-card {
        min-height: 160px;
    }
    .executor-header h4 {
        font-size: 1.1rem;
    }
    .executor-features-list .detail-text {
        font-size: 0.7rem;
    }
    .executor-btn-small {
        font-size: 0.75rem;
        padding: 0.5rem 1rem;
    }
}



