/* ================================
   Elrendezés – content + sidebar
   ================================ */
.main-wrapper{
  display:flex;
  gap:24px;
  align-items:flex-start;
  flex-wrap:wrap;
}
.content-area{ flex:1 1 720px; min-width:0 }
.sidebar{ flex:0 0 280px }
@media (max-width: 900px){
  .main-wrapper{ flex-direction:column }
  .sidebar{ flex:1 1 auto }
}

/* ==============
   Flash üzenetek
   ============== */
.flash{ padding:10px 12px; border-radius:8px; margin-bottom:16px }
.flash.ok{  background:#e8f7ee; border:1px solid #b9e3c6 }
.flash.err{ background:#fdebea; border:1px solid #f5c2c0 }

/* ===========================================
   Könyvlista – modern, kompakt kártyarács
   =========================================== */
.books-grid,
.grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 320px));
  gap: 16px;
  max-width: calc(3 * 320px + 2 * 16px);
  width: 100%;
  justify-content: center;
  margin: 18px auto 28px;
}
@media (max-width: 520px){
  .books-grid, .grid{
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    max-width: 100%;
  }
}

/* Kártya alap */
.book-card,
.card{
  width:100%;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:14px;
  box-shadow:0 6px 18px rgba(15,23,42,.06);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition: transform .08s ease, box-shadow .15s ease, border-color .15s ease;
}
.book-card:hover,
.card:hover{
  transform:translateY(-2px);
  border-color:#dce3ec;
  box-shadow:0 10px 24px rgba(15,23,42,.08);
}

/* Borító blokk */
.book-cover{
  width:100%;
  aspect-ratio: 16 / 10;
  background:#f8fafc;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.book-cover img{
  width:100%;
  height:100%;
  object-fit:cover; /* nem torzít, arányt tart */
  display:block;
}

/* Fejléc – cím + chip-ek */
.book-card__header{
  padding:12px 14px 6px;
  display:flex; flex-wrap:wrap; gap:8px; align-items:flex-start;
}
.book-card__title{
  margin:0;
  font-size:1.02rem;
  font-weight:800;
  line-height:1.25;
  color:#111827;
  overflow-wrap:anywhere;
  flex:1 1 100%;
}

/* Chip-ek */
.chip{
  display:inline-flex; align-items:center; gap:6px;
  padding:4px 10px; border-radius:999px; font-weight:800; font-size:.85rem; white-space:nowrap
}
.chip--year{   background:#eef2ff; color:#3730a3; border:1px solid #c7d2fe }
.chip--format{ background:#f1f5f9; color:#0f172a;  border:1px solid #e2e8f0 }
.chip--tema{   background:#fff7ed; color:#9a3412; border:1px solid #fed7aa }

/* Törzs */
.book-card__body{ padding:6px 14px 10px }
.meta-list{ display:grid; grid-template-columns:1fr; gap:6px }
.meta-row{ display:flex; gap:8px; align-items:baseline; line-height:1.35 }
.meta-label{ color:#6b7280; min-width:96px; flex:0 0 auto }
.meta-value{ color:#111827; font-weight:700; overflow-wrap:anywhere }
.synopsis{ margin:8px 0 0; color:#111827; line-height:1.45; }

/* Lábléc */
.book-card__footer{
  padding:10px 14px 14px;
  margin-top:auto;
  display:flex; justify-content:flex-end; gap:10px;
  border-top:1px dashed #e5e7eb;
}
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:.5rem .8rem; border-radius:10px; border:1px solid #cfe2ff;
  background:#eaf3ff; color:#0b5ed7; font-weight:800; text-decoration:none;
  transition:background .15s, border-color .15s, transform .02s, box-shadow .15s;
}
.btn:hover{  background:#e0edff; border-color:#bcd6ff; color:#0a58ca }
.btn:active{ transform:translateY(1px) }
.btn[aria-disabled="true"]{ opacity:.6; cursor:not-allowed }

/* “Vissza” gomb finomítása */
.content-area .button.special{
  display:inline-flex; align-items:center; justify-content:center;
  padding:.55rem 1rem; border-radius:10px; border:1px solid #cfe2ff;
  background:#eaf3ff; color:#0b5ed7 !important; font-weight:800; text-decoration:none;
  transition:background .15s, border-color .15s, transform .02s, box-shadow .15s;
}
.content-area .button.special:hover{  background:#e0edff; border-color:#bcd6ff; color:#0a58ca !important }
.content-area .button.special:active{ transform:translateY(1px) }

@media (max-width:520px){
  .book-card__header{ padding:10px 12px 6px }
  .book-card__body{   padding:6px 12px 10px }
  .book-card__footer{ padding:10px 12px 12px }
  .meta-label{ min-width:88px }
}

/* Lebegő képelőnézet */
#imgHoverPreview{
  position: fixed;
  top: 0; left: 0;
  display: none;
  z-index: 9999;
  pointer-events: none;
  background: rgba(0,0,0,.7);
  padding: 6px;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0,0,0,.4);
}
#imgHoverPreview img{
  max-width: min(70vw, 600px);
  max-height: 80vh;
  display: block;
  object-fit: contain;
}

/* Ne zavarjon mobilon / tap eszközön */
@media (pointer: coarse){
  #imgHoverPreview{ display:none !important; }
}