:root{
  --bg:#0b0e10; --card:#0f1416; --muted:#9fb0b4; --accent:#2fc26b; --glass:rgba(255,255,255,0.03);
  --maxw:1100px; --radius:12px;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}

*{box-sizing:border-box}
body{margin:0;background:linear-gradient(180deg,#060708,#0d1113);color:#e6eef0;line-height:1.5}
.container{max-width:var(--maxw);margin:0 auto;padding:18px}

/* HEADER + NAV */
.site-header{border-bottom:1px solid rgba(255,255,255,0.03);padding:12px 0;background:transparent}
.brand{display:flex;gap:12px;align-items:center}
.logo{width:56px;height:56px;border-radius:10px;background:linear-gradient(135deg,#122a1a,#16361f);display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--accent);font-size:20px}
.lead{color:var(--muted);margin:6px 0 0}
.main-nav{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}
.nav-link{padding:8px 12px;border-radius:8px;color:var(--muted);text-decoration:none;border:1px solid transparent}
.nav-link.active{background:linear-gradient(180deg,rgba(47,194,107,0.12),rgba(47,194,107,0.06));color:#dff6e9;border:1px solid rgba(47,194,107,0.12)}

.card{background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));border-radius:var(--radius);padding:18px;border:1px solid rgba(255,255,255,0.03);box-shadow:0 10px 22px rgba(0,0,0,0.6);margin-bottom:14px}
.muted{color:var(--muted)}
.small{font-size:13px}

/* MAP THUMBNAILS */
.maps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px}
.map-card{background:var(--card);padding:12px;border-radius:10px;border:1px solid rgba(255,255,255,0.02)}
.thumb {
  width: 100%;
  border-radius: 6px;
  cursor: pointer;
  transition: 0.2s;
}
.thumb:hover{transform:scale(1.05)}

/* LIGHTBOX */
.lightbox {
  position: fixed;
  top:0; left:0;
  width:100%; height:100%;
  background:rgba(0,0,0,0.85);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:9999;
  opacity:0;
  pointer-events:none;
  transition:opacity .3s;
}
.lightbox.active {
  opacity:1;
  pointer-events:auto;
}
.lightbox img {
  max-width:90%;
  max-height:90%;
  border-radius:10px;
  box-shadow:0 10px 40px rgba(0,0,0,0.7);
}

/* ITEMS */
.class-title {
  margin-top:25px;
  font-size:20px;
  font-weight:700;
  color:var(--accent);
}

.item-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:14px;
  margin-top:10px;
}

.item {
  background:var(--card);
  padding:10px;
  border-radius:10px;
  cursor:pointer;
  border:1px solid rgba(255,255,255,0.04);
  transition:0.2s;
}
.item:hover{transform:scale(1.03)}

.item img {
  width:100%;
  border-radius:8px;
}
.item-name {
  margin-top:6px;
  text-align:center;
  color:var(--muted);
}

/* ITEM MODAL */
.modal {
  position:fixed;
  top:0; left:0;
  width:100%; height:100%;
  background:rgba(0,0,0,0.85);
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  pointer-events:none;
  transition:0.3s;
  z-index:20000;
}
.modal.active {
  opacity:1;
  pointer-events:auto;
}

.modal-content {
  background:#111;
  padding:20px;
  border-radius:12px;
  max-width:500px;
  width:90%;
  text-align:center;
}
.modal-content img {
  width:80%;
  border-radius:10px;
}
.close-btn {
  margin-top:10px;
  padding:8px 12px;
  background:var(--accent);
  border:none;
  border-radius:8px;
  cursor:pointer;
  font-weight:600;
}


.item-grid {
  display: flex; /* sorba rendezés */
  flex-wrap: wrap; /* több sor, ha nincs elég hely */
  gap: 5px; /* 5px távolság az itemek között */
  margin-top: 15px;
}

/* Kategória címek */
h2 {
  margin-top: 30px;  /* mérsékelt szünet a fő kategóriák között */
  border-bottom: 2px solid #444;
  padding-bottom: 4px;
}

/* Class címek */
.class-title {
  margin-top: 15px;  /* kisebb szünet a class-ok között */
  font-size: 18px;
  font-weight: 700;
  color: #2fc26b;
}

/* Item grid flex layout */
.item-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;  /* kis távolság az itemek között */
  margin-top: 10px;
}

/* Egyedi item container */
.item {
  background: var(--card);
  padding: 8px;
  border-radius: 10px;
  cursor: pointer;
  border: 1px solid rgba(255,255,255,0.04);
  display: flex;
  flex-direction: column;
  align-items: flex-start;  /* név balra */
  width: 160px;  /* fix szélesség */
}

/* Kép a container közepére */
.item img {
  width: auto;
  max-width: 100%;
  max-height: 100px;
  object-fit: contain;
  border-radius: 8px;
  cursor: pointer;
  align-self: center;  /* középre */
  margin-bottom: 6px;
}

/* Név balra */
.item-name {
  font-size: 14px;
  color: var(--muted);
  text-align: left;
  width: 100%;
}
