/* ── Base ─────────────────────────────────────────────────────────────────── */
body {
  background-color: #f5f3ef;
  font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
}

/* ── Loading overlay ──────────────────────────────────────────────────────── */
.loading-overlay {
  position: fixed;
  inset: 0;
  background: rgba(245, 243, 239, 0.92);
  backdrop-filter: blur(2px);
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
}
.loading-box {
  background: #fff;
  padding: 2rem 2.5rem;
  border-radius: 0.75rem;
  box-shadow: 0 8px 32px rgba(0,0,0,0.15);
  max-width: 90%;
}

/* ── Navbar ───────────────────────────────────────────────────────────────── */
.navbar {
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
  box-shadow: 0 2px 8px rgba(0,0,0,0.18);
}
.navbar-brand {
  color: #f8f4e8 !important;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: -0.3px;
}
.navbar-brand:hover { color: #ffd966 !important; }
.navbar-text { color: #8899aa !important; }
.nav-link-about { color: #c8d8e8 !important; font-size: 0.9rem; text-decoration: none; }
.nav-link-about:hover { color: #ffd966 !important; }

/* ── Hero ─────────────────────────────────────────────────────────────────── */
.hero-icon { font-size: 3.5rem; line-height: 1; }

/* ── Search card ──────────────────────────────────────────────────────────── */
.search-card {
  border: none;
  border-radius: 16px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.09);
}
.search-card .card-body { background: #fff; border-radius: 16px; }

/* ── Book metadata card ───────────────────────────────────────────────────── */
.book-meta-card {
  border: none;
  border-radius: 12px;
  background: #fff;
}
.book-cover-img {
  width: 90px;
  height: auto;
  max-height: 130px;
  object-fit: cover;
}

details summary::-webkit-details-marker { display: none; }
details summary { list-style: none; }
details[open] .toggle-chevron { transform: rotate(90deg); }
.toggle-chevron { transition: transform 0.2s ease; display: inline-block; }

/* ── Retailer cards ───────────────────────────────────────────────────────── */
.retailer-card {
  border: none;
  border-radius: 12px;
  overflow: hidden;
}
.amazon-card  { border-top: 4px solid #FF9900 !important; }
.kino-card    { border-top: 4px solid #e31837 !important; }

.retailer-header {
  background: #fff;
  border-bottom: 1px solid #f0ece4;
  padding: 0.75rem 1rem;
}
.retailer-logo       { height: 24px; object-fit: contain; }
.retailer-logo-icon  { font-size: 1.4rem; line-height: 1; }
.amazon-icon         { color: #ff9900; }

/* ── Result rows ──────────────────────────────────────────────────────────── */
.result-row        { padding: 0.85rem 1rem; }
.result-row-first  { background: #fafaf7; }
.result-thumb {
  width: 50px;
  height: 68px;
  object-fit: cover;
  border-radius: 4px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.12);
}
.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ── Price tags ───────────────────────────────────────────────────────────── */
.price-tag   { font-size: 1.25rem; font-weight: 700; margin: 0; }
.amazon-price { color: #B12704; }
.kino-price   { color: #e31837; }

/* ── Buttons ──────────────────────────────────────────────────────────────── */
.btn-amazon {
  background: #FF9900;
  color: #111;
  border: none;
  font-weight: 500;
}
.btn-amazon:hover { background: #e68a00; color: #111; }

.btn-kino {
  background: #e31837;
  color: #fff;
  border: none;
  font-weight: 500;
}
.btn-kino:hover { background: #c01530; color: #fff; }

/* ── Footer ───────────────────────────────────────────────────────────────── */
footer { color: #999; }
