/**
 * PorteriaPlus Custom CSS
 * Non-Tailwind styles: gradients, glassmorphism, animations, custom components.
 */

/* === Body dark background (overrides any parent/WP inline styles) === */
body.porteria-dark-theme {
	background-color: #0a0a0a !important;
	color: #fff;
}

/* === Gradients === */
.gradient-brand {
	background: linear-gradient(135deg, #97f914 0%, #7ad400 100%);
}

.gradient-dark {
	background: linear-gradient(135deg, #0a0a0a 0%, #1a1a2e 50%, #16213e 100%);
}

.text-gradient {
	background: linear-gradient(135deg, #97f914, #b3ff66);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

/* === Glassmorphism === */
.glass {
	background: rgba(255, 255, 255, 0.05);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	border: 1px solid rgba(255, 255, 255, 0.08);
}

/* === Cards === */
.card-hover {
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.card-hover:hover {
	transform: translateY(-8px);
	box-shadow: 0 25px 50px -12px rgba(151, 249, 20, 0.15);
}

.popular-card {
	border: 2px solid #97f914;
	box-shadow: 0 0 40px rgba(151, 249, 20, 0.1);
}

/* === Buttons === */
.btn-glow {
	box-shadow: 0 0 20px rgba(151, 249, 20, 0.3);
}

.btn-glow:hover {
	box-shadow: 0 0 40px rgba(151, 249, 20, 0.5);
}

/* === Navigation === */
.nav-scrolled {
	background: rgba(10, 10, 10, 0.95);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	box-shadow: 0 4px 30px rgba(0, 0, 0, 0.3);
}

/* === Patterns === */
.dot-pattern {
	background-image: radial-gradient(rgba(151, 249, 20, 0.1) 1px, transparent 1px);
	background-size: 30px 30px;
}

/* === Scrollbar === */
.porteria-dark-theme::-webkit-scrollbar {
	width: 8px;
}

.porteria-dark-theme::-webkit-scrollbar-track {
	background: #0a0a0a;
}

.porteria-dark-theme::-webkit-scrollbar-thumb {
	background: #333;
	border-radius: 4px;
}

.porteria-dark-theme::-webkit-scrollbar-thumb:hover {
	background: #97f914;
}

/* === Dashboard Mock === */
.dashboard-mock {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.02) 100%);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 16px;
}

/* === Timeline === */
.timeline-line {
	position: absolute;
	left: 50%;
	top: 0;
	bottom: 0;
	width: 2px;
	background: linear-gradient(to bottom, transparent, #97f914, transparent);
	transform: translateX(-50%);
}

/* === Selection === */
.porteria-dark-theme ::selection {
	background: rgba(151, 249, 20, 0.3);
	color: white;
}

/* === AOS override for reduced motion === */
@media (prefers-reduced-motion: reduce) {
	[data-aos] {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}

/* === Form inputs on dark theme === */
.porteria-dark-theme input,
.porteria-dark-theme textarea,
.porteria-dark-theme select {
	color-scheme: dark;
}

/* === Focus styles === */
.porteria-dark-theme a:focus-visible,
.porteria-dark-theme button:focus-visible {
	outline: 2px solid #97f914;
	outline-offset: 2px;
}

/* === Blog === */
.post-card-img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

article.post-card .post-card-img {
	transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

article.post-card:hover .post-card-img {
	transform: scale(1.05);
}

/* === Blog prose (single post) === */
.porteria-prose {
	color: #d1d5db;
	line-height: 1.8;
}

.porteria-prose h2 {
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	margin-top: 2.5rem;
	margin-bottom: 1rem;
}

.porteria-prose h3 {
	color: #fff;
	font-size: 1.25rem;
	font-weight: 600;
	margin-top: 2rem;
	margin-bottom: 0.75rem;
}

.porteria-prose p {
	margin-bottom: 1.25rem;
}

.porteria-prose a {
	color: #97f914;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.porteria-prose a:hover {
	color: #b3ff66;
}

.porteria-prose ul,
.porteria-prose ol {
	margin-bottom: 1.25rem;
	padding-left: 1.5rem;
}

.porteria-prose ul {
	list-style-type: disc;
}

.porteria-prose ol {
	list-style-type: decimal;
}

.porteria-prose li {
	margin-bottom: 0.5rem;
}

.porteria-prose blockquote {
	border-left: 3px solid #97f914;
	padding-left: 1.25rem;
	margin: 1.5rem 0;
	color: #9ca3af;
	font-style: italic;
}

.porteria-prose img {
	border-radius: 1rem;
	margin: 2rem 0;
}

.porteria-prose pre {
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 0.75rem;
	padding: 1.25rem;
	overflow-x: auto;
	margin: 1.5rem 0;
}

.porteria-prose code {
	background: rgba(255, 255, 255, 0.08);
	padding: 0.15rem 0.4rem;
	border-radius: 0.25rem;
	font-size: 0.875em;
}

.porteria-prose pre code {
	background: transparent;
	padding: 0;
}

.porteria-prose table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.5rem 0;
}

.porteria-prose th,
.porteria-prose td {
	border: 1px solid rgba(255, 255, 255, 0.1);
	padding: 0.75rem 1rem;
	text-align: left;
}

.porteria-prose th {
	background: rgba(255, 255, 255, 0.05);
	color: #fff;
	font-weight: 600;
}
