/* --- Fórum banner beállításai --- */
.banner-wrapper {
  width: 85%;
  max-width: 1000px;
  height: 220px;               /* elég magas, hogy ne vágja le a tetejét */
  margin: 30px auto;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.18);
}

/* --- Kép beállításai --- */
.banner-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 25% 15%;    /* FELJEBB tolva a fókusz → több látszik a felső rész, alulról csíp le */
  display: block;
  transition: transform 0.3s ease;
}

.banner-img:hover {
  transform: scale(1.02);
}

/* --- Mobil nézethez igazítva --- */
@media (max-width: 600px) {
  .banner-wrapper {
    width: 95%;
    height: 180px;             /* arányosan kisebb mobilon */
  }
  .banner-img {
    object-position: 30% 45%;  /* mobilon marad a jól bevált közép-fókusz */
  }
}

/* --- Fórum hierarchia és elemek --- */
.wrap { max-width: 1000px; margin: 0 auto; padding: 20px; }
.fotema { margin-bottom: 25px; }
.fotema h2 { font-size: 20px; margin: 10px 0; padding:6px; background:#e0e0e0; }
.altema { margin-left: 20px; padding:4px 0; }
.altema a { font-weight: bold; color:#004488; text-decoration:none; }
.altema a:hover { text-decoration:underline; }
.alaltema { margin-left: 40px; padding:2px 0; }
.alaltema a { color:#0066aa; text-decoration:none; }
.alaltema a:hover { text-decoration:underline; }
.info { color:#666; font-size: 0.9em; margin-left:10px; }

/* --- Fórum főoldal kártyák --- */
.forum-section { margin: 22px 0 30px; }
.forum-section > h2 { margin: 0 0 12px; font-size: 1.35rem; }

.subtopic-card {
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:12px;
  padding:12px 14px;
  margin:12px 0;
  box-shadow:0 2px 10px rgba(0,0,0,.04);
}

.subtopic-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.subtopic-title {
  font-weight:700;
  text-decoration:none;
  color:#0f172a;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.subtopic-title:hover { text-decoration:underline; }

.subtopic-meta { font-size:.92em; color:#475569; }

.child-list { list-style:none; padding:8px 0 0; margin:8px 0 0; border-top:1px dashed #e5e7eb; }
.child-item {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:6px 0;
  border-bottom:1px solid #f1f5f9;
}
.child-item:last-child { border-bottom:none; }

.child-title {
  text-decoration:none;
  color:#0f172a;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.child-title:hover { text-decoration:underline; }

.child-meta { font-size:.88em; color:#64748b; flex-shrink:0; }

.badge {
  display:inline-block;
  padding:2px 8px;
  border-radius:9999px;
  border:1px solid;
  font-size:.75em;
}
.badge-open  { color:#2f855a; border-color:#a7d7bf; background:#ecfff6; }
.badge-closed{ color:#c53030; border-color:#f0aaaa; background:#ffecec; }

.more-link { display:inline-block; margin-top:8px; font-size:.92em; }

@media (max-width: 640px) {
  .subtopic-header { flex-direction:column; align-items:flex-start; gap:6px; }
  .child-item { flex-direction:column; align-items:flex-start; gap:4px; }
  .child-title { white-space:normal; }
}