/* CSS ile üretilen kitap kapakları (vitrin + admin ortak) */
.cover-box { container-type: inline-size; width: 100%; }
.cover {
  --c1: #333; --c2: #777;
  position: relative;
  aspect-ratio: 2 / 3;
  width: 100%;
  border-radius: 4px 10px 10px 4px;
  overflow: hidden;
  color: #fff;
  background: linear-gradient(155deg, var(--c2) -10%, var(--c1) 70%);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 1px 1px rgba(0,0,0,.15), 0 14px 30px -12px rgba(20,12,4,.55);
  display: flex; flex-direction: column; justify-content: flex-end;
  padding: 12% 11% 10% 15%;
  isolation: isolate;
  font-family: 'Newsreader', Georgia, serif;
  user-select: none;
  font-size: 11.5cqw;
}
.cover::before { /* desen katmanı */
  content: ""; position: absolute; inset: 0; z-index: -1; opacity: .5;
}
.cover::after { /* ışık yansıması */
  content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: linear-gradient(105deg, rgba(255,255,255,0) 30%, rgba(255,255,255,.18) 45%, rgba(255,255,255,0) 60%);
  transform: translateX(-120%); transition: transform .9s cubic-bezier(.2,.7,.2,1);
}
.cover:hover::after, .book-card:hover .cover::after, .cover.shine::after { transform: translateX(120%); }
.cover-spine { position: absolute; left: 0; top: 0; bottom: 0; width: 7%; background: linear-gradient(90deg, rgba(0,0,0,.35), rgba(255,255,255,.12) 60%, rgba(0,0,0,.15)); }
.cover-cat { position: absolute; top: 9%; left: 15%; font-family: 'Instrument Sans', system-ui, sans-serif; font-size: .55em; letter-spacing: .22em; text-transform: uppercase; opacity: .8; }
.cover-title { margin: 0 0 .45em; font-size: 1.15em; line-height: 1.08; font-weight: 600; letter-spacing: -.01em; text-wrap: balance; }
.cover-author { font-family: 'Instrument Sans', system-ui, sans-serif; font-size: .62em; opacity: .85; letter-spacing: .04em; }
.cover-pub { position: absolute; bottom: 4%; right: 8%; font-family: 'Instrument Sans', sans-serif; font-size: .42em; letter-spacing: .3em; opacity: .55; }
.cover-orn { position: absolute; top: 24%; left: 15%; right: 11%; height: 32%; border: 1px solid rgba(255,255,255,.35); }

.cover.p0::before { background: radial-gradient(circle at 75% 25%, rgba(255,255,255,.35) 0 18%, transparent 19%), radial-gradient(circle at 75% 25%, transparent 0 26%, rgba(255,255,255,.18) 26.5% 27.5%, transparent 28%), radial-gradient(circle at 75% 25%, transparent 0 34%, rgba(255,255,255,.12) 34.5% 35.5%, transparent 36%); }
.cover.p0 .cover-orn { border: none; }
.cover.p1::before { background: repeating-linear-gradient(135deg, rgba(255,255,255,.12) 0 2px, transparent 2px 14px); }
.cover.p1 .cover-orn { border-radius: 50%; width: 46%; left: auto; height: auto; aspect-ratio: 1; }
.cover.p2::before { background: radial-gradient(120% 60% at 50% 0%, rgba(255,255,255,.28), transparent 60%); }
.cover.p2 .cover-orn { border-radius: 999px 999px 0 0; left: 26%; right: 22%; height: 36%; }
.cover.p3::before { background: linear-gradient(rgba(255,255,255,.1) 1px, transparent 1px) 0 0/16px 16px, linear-gradient(90deg, rgba(255,255,255,.1) 1px, transparent 1px) 0 0/16px 16px; }
.cover.p3 .cover-orn { transform: rotate(45deg) scale(.55); aspect-ratio: 1; height: auto; width: 50%; left: 30%; top: 16%; }

/* Arka kapak */
.cover.back { padding: 12% 11% 8%; justify-content: space-between; background: linear-gradient(200deg, var(--c2) -30%, var(--c1) 60%); }
.cover.back::before { display: none; }
.back-blurb { margin: 0; font-size: .62em; line-height: 1.45; font-style: italic; }
.back-desc { margin: 0; font-family: 'Instrument Sans', system-ui, sans-serif; font-size: .4em; line-height: 1.5; opacity: .85; }
.back-foot { display: flex; justify-content: space-between; align-items: flex-end; gap: 6%; font-family: 'Instrument Sans', sans-serif; font-size: .36em; letter-spacing: .08em; }
.barcode { background: #fff; color: #111; padding: 5% 6% 3%; border-radius: 2px; text-align: center; flex: none; width: 46%; }
.barcode .bars { display: flex; height: 2.6em; justify-content: center; overflow: hidden; }
.barcode .bars i { display: block; height: 100%; background: #111; flex: none; }
.barcode small { display: block; font-size: .8em; margin-top: 2px; letter-spacing: 0; white-space: nowrap; }
