/*
Theme Name: CyberStore Classic
Theme URI: https://wordpress.org/themes/cyberstore-classic/
Author: JTGeeks
Description: A 3D Cyberpunk Theme using Classic PHP Templates.
Version: 2.0.0
*/

/* Reset & Base */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

body {
    background-color: #050505;
    color: #fff;
    line-height: 1.5;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

:root {
  --neon-green: #0f0;
  --neon-cyan: #00f3ff;
  --dark-bg: #050505;
  --hud-bg: rgba(0, 20, 0, 0.85);
  --font-head: "Orbitron", sans-serif;
  --font-ui: "Rajdhani", sans-serif;
}

body {
  background-color: var(--dark-bg) !important;
  color: #fff !important;
  font-family: var(--font-ui) !important;
  margin: 0;
  overflow: hidden; 
}

#game-viewport { position: fixed; inset: 0; z-index: 0; }

#hud-layer {
  position: fixed; inset: 0; z-index: 10;
  pointer-events: none;
  display: flex; flex-direction: column; justify-content: space-between;
  padding: 20px;
}

.top-bar { display: flex; justify-content: space-between; align-items: flex-start; pointer-events: auto; }
.brand {
  font-family: var(--font-head); font-weight: 900; font-size: 1.5rem;
  color: var(--neon-green); text-transform: uppercase; text-shadow: 0 0 10px var(--neon-green);
}
.status-panel { text-align: right; font-size: 0.9rem; letter-spacing: 2px; color: var(--neon-cyan); }
.blink { animation: blink 1s infinite; }
@keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } }

/* Side Panel */
.side-panel {
  position: absolute; right: 0; top: 20%; bottom: 20%;
  width: 60px; background: var(--hud-bg); border-left: 2px solid var(--neon-green);
  transition: width 0.3s ease; pointer-events: auto;
  display: flex; flex-direction: column; align-items: center; padding: 20px 0;
  box-shadow: -5px 0 20px rgba(0, 255, 0, 0.1); overflow: hidden;
}
.side-panel:hover { width: 220px; }
.nav-point {
  width: 100%; padding: 15px; display: flex; align-items: center; gap: 15px;
  color: var(--neon-green); cursor: pointer; transition: 0.2s; white-space: nowrap;
}
.nav-point:hover { background: rgba(0, 255, 0, 0.2); color: #fff; }
.nav-icon {
  width: 24px; height: 24px; border: 1px solid var(--neon-green);
  border-radius: 50%; display: grid; place-items: center; font-size: 10px; flex-shrink: 0;
}
.nav-point.active .nav-icon { background: var(--neon-green); color: black; box-shadow: 0 0 10px var(--neon-green); }
.nav-label { font-family: var(--font-head); font-size: 0.8rem; opacity: 0; transition: opacity 0.2s; }
.side-panel:hover .nav-label { opacity: 1; }
.nav-point.zoom-out { border-top: 1px solid rgba(0, 255, 0, 0.3); margin-top: auto; color: var(--neon-cyan); }
.nav-point.zoom-out .nav-icon { border-color: var(--neon-cyan); }

/* Content Panels */
.content-panel {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0.9);
  width: 80%; max-width: 900px; height: 80%;
  background: rgba(5, 10, 5, 0.95); border: 1px solid var(--neon-green);
  padding: 40px; opacity: 0; pointer-events: none;
  transition: all 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
  box-shadow: 0 0 50px rgba(0, 255, 0, 0.1); overflow-y: auto; z-index: 20;
}
.content-panel.active { opacity: 1; transform: translate(-50%, -50%) scale(1); pointer-events: auto; }

.close-btn {
  position: absolute; top: 20px; right: 20px; background: transparent; 
  border: 1px solid var(--neon-cyan); color: var(--neon-cyan); padding: 5px 15px; 
  cursor: pointer; font-family: var(--font-head);
}
.close-btn:hover { background: var(--neon-cyan); color: black; }

/* Styles */
h2 { font-family: var(--font-head); color: var(--neon-green); border-bottom: 1px solid var(--neon-green); padding-bottom: 10px; }
p { line-height: 1.6; color: #ccc; }
.grid-products { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 20px; margin-top: 20px; }
.cyber-card { border: 1px solid rgba(0, 255, 0, 0.3); padding: 15px; text-align: center; background: rgba(0,0,0,0.5); transition: 0.3s; }
.cyber-card:hover { border-color: var(--neon-cyan); box-shadow: 0 0 15px rgba(0, 243, 255, 0.2); transform: translateY(-5px); }
.card-img { height: 120px; background: rgba(0, 255, 0, 0.1); margin-bottom: 10px; display: grid; place-items: center; color: var(--neon-green); font-size: 2rem; border: 1px dashed var(--neon-green); }
.price { display: block; color: var(--neon-cyan); font-weight: bold; margin: 10px 0; }
.btn { background: transparent; border: 1px solid var(--neon-green); color: var(--neon-green); padding: 5px 15px; cursor: pointer; width: 100%; font-family: var(--font-ui); text-transform: uppercase; transition: 0.2s; }
.btn:hover { background: var(--neon-green); color: black; }
.cyber-input { background: transparent; border: 1px solid var(--neon-green); color: white; padding: 10px; font-family: var(--font-ui); width: 100%; }

#map-tooltip {
  position: absolute; pointer-events: none; background: rgba(0, 0, 0, 0.8);
  border: 1px solid var(--neon-cyan); color: var(--neon-cyan); padding: 5px 10px;
  font-family: var(--font-ui); font-size: 0.8rem; transform: translate(-50%, -150%);
  opacity: 0; transition: opacity 0.2s; z-index: 15;
}
