/* ============================================================
   listings.css — Kitap listesi & detay sayfa banner stilleri
   book_list, period_book_list, category_list ortak.
   ============================================================ */

/* Page banner extras */
.banner-stat-number {
  font-family: var(--font-display);
  font-size: 36px;
  font-weight: 700;
  color: var(--white);
  line-height: 1;
  text-align: right;
}
.banner-stat-label {
  font-size: 11px;
  color: rgba(255,255,255,0.65);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-top: 4px;
  text-align: right;
}
.banner-right { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.banner-print {
  font-size: 11px;
  color: rgba(255,255,255,0.7);
  text-decoration: none;
  border: 1px solid rgba(255,255,255,0.3);
  padding: 5px 10px;
  border-radius: var(--radius-sm);
  letter-spacing: 0.06em;
  transition: all var(--t-base);
}
.banner-print:hover {
  border-color: var(--white);
  color: var(--white);
}

/* Breadcrumb list (li style override) */
.breadcrumb-list { list-style: none; }
.breadcrumb-list li { display: inline; }
.breadcrumb-list a { color: rgba(255,255,255,0.65); text-decoration: none; }
.breadcrumb-list a:hover { color: var(--white); }

/* Toolbar */
.toolbar {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 12px 16px;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.toolbar-left { display: flex; align-items: center; gap: 10px; flex: 1; }
.toolbar-right { display: flex; align-items: center; gap: 10px; }
.results-count { font-size: 13px; color: var(--muted); }
.results-count strong { color: var(--ink); }

.lang-select, .sort-select {
  padding: 7px 10px;
  border: 1.5px solid var(--border);
  border-radius: var(--radius-sm);
  font-size: 12px;
  font-family: var(--font-sans);
  color: var(--ink);
  background: var(--cream);
  outline: none;
  cursor: pointer;
  min-width: 160px;
}
.lang-select:focus, .sort-select:focus { border-color: var(--burgundy); }

/* Book list */
.book-list { display: flex; flex-direction: column; gap: 12px; }

.book-item {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 20px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 20px;
  transition: all var(--t-base);
}
.book-item:hover {
  border-color: var(--burgundy-light);
  box-shadow: var(--shadow-sm);
}
.book-main {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0; /* uzun kelime taşımasın */
}
.book-title-row { margin: 0; }
.book-title {
  font-family: var(--font-serif);
  font-size: 16px;
  font-weight: 600;
  color: var(--burgundy);
  text-decoration: none;
  line-height: 1.3;
  transition: color var(--t-fast);
}
.book-title:hover { color: var(--burgundy-dark); text-decoration: underline; }
.book-author { font-size: 13px; font-weight: 600; color: var(--ink); }
.book-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  font-size: 12px;
  color: var(--muted);
  margin-top: 2px;
}
.book-meta span:empty { display: none; }
/* Meta satırı ikonları: 1=yer, 2=dil, 3=ISBN. Span'ler asp:Label içerir,
   :empty matche etmiyor. Has-pseudo ile içerik kontrolü, fallback olarak
   direkt selector. */
.book-meta > span::before {
  margin-right: 4px;
  font-size: 11px;
  opacity: 0.75;
  display: inline-block;
}
.book-meta > span:nth-of-type(1)::before { content: "📍"; }
.book-meta > span:nth-of-type(2)::before { content: "🏛"; }
.book-meta > span:nth-of-type(3)::before { content: "🌐"; }
.book-meta > span:nth-of-type(4)::before { content: "🔖"; }
/* Eğer Label boşsa, dış span'i ve içindeki ikonu gizle */
.book-meta > span:has(> span:empty) { display: none; }
.book-tags {
  margin-top: 4px;
  font-size: 11px;
  color: var(--burgundy);
}
.book-tags a {
  background: var(--burgundy-pale);
  color: var(--burgundy);
  font-size: 10px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 3px;
  letter-spacing: 0.04em;
  text-decoration: none;
  margin-right: 4px;
  display: inline-block;
}
.book-tags a:hover { background: var(--burgundy); color: var(--white); }
.book-description {
  font-family: var(--font-serif);
  font-size: 13px;
  color: var(--muted);
  font-style: italic;
  line-height: 1.6;
  margin-top: 4px;
}
.book-description:empty { display: none; }

/* Book action */
.book-action {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
  min-width: 110px;
  gap: 12px;
  text-align: right;
}
.book-code {
  font-size: 11px;
  color: var(--muted);
  letter-spacing: 0.06em;
  font-weight: 500;
}
.book-price {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 700;
  color: var(--burgundy);
  line-height: 1;
  white-space: nowrap;
}
.book-price .currency {
  font-size: 16px;
  font-weight: 400;
}
.add-to-basket {
  background: var(--burgundy);
  color: var(--white);
  border: none;
  padding: 9px 16px;
  border-radius: var(--radius-sm);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  font-family: var(--font-sans);
  letter-spacing: 0.04em;
  transition: background var(--t-base);
  white-space: nowrap;
  width: 100%;
  text-align: center;
  text-decoration: none;
  display: inline-block;
}
.add-to-basket:hover {
  background: var(--burgundy-dark);
  color: var(--white);
}

/* Pagination */
.pagination-bar {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 14px 18px;
  margin-top: 16px;
  text-align: center;
  line-height: 1;
}
.pagination-bar:empty { display: none; }
.pagination-bar > span {
  /* GetPaging'in ürettiği ayraç span'leri — kutu görüntüsü vermeyelim */
  display: inline-block;
  width: 5px;
}
.pagination-bar a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 34px;
  border: 1.5px solid var(--border);
  border-radius: var(--radius-sm);
  font-size: 13px;
  font-weight: 500;
  color: var(--muted);
  background: var(--white);
  font-family: var(--font-sans);
  text-decoration: none;
  padding: 0 10px;
  transition: all var(--t-fast);
  vertical-align: middle;
}
.pagination-bar a:hover {
  border-color: var(--burgundy);
  color: var(--burgundy);
}
.pagination-bar a.selected {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: var(--white);
}

/* Responsive */
@media (max-width: 768px) {
  .book-item { grid-template-columns: 1fr; }
  .book-action {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    min-width: 0;
    text-align: left;
  }
  .add-to-basket { width: auto; }
  .toolbar { flex-direction: column; align-items: stretch; }
  .lang-select, .sort-select { width: 100%; }
}
