/* thekvara.com — ბიბლიოთეკა: წიგნი როგორც ნივთი (3D ყდა), თარო, წიგნის გვერდი, შეძენის ბლოკი.
   იყენებს style.css-ის ცვლადებს. იტვირთება ყველა გვერდზე style.css-ის შემდეგ. */

/* ── 3D წიგნი ─────────────────────────────────────────────────────────────── */
.book3d {
  --bw: 11rem;            /* ყდის სიგანე */
  --bd: 1.9rem;           /* წიგნის სისქე */
  --ratio: 0.7;           /* სიგანე / სიმაღლე — სერვერი წერს ყდის რეალურ პროპორციას */
  display: block;
  width: var(--bw);
  height: calc(var(--bw) / var(--ratio));
  perspective: 62rem;
  flex: none;
}
.book3d--lg { --bw: 15rem; --bd: 2.4rem; }
.book3d--sm { --bw: 8.5rem; --bd: 1.5rem; }
.book3d__body {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transform: rotateY(-26deg);
  transition: transform 0.6s var(--ease);
}
a.book3d:hover .book3d__body,
a.book3d:focus-visible .book3d__body,
.shelf__item:hover .book3d__body { transform: rotateY(-10deg); }
.book3d__cover {
  position: absolute;
  inset: 0;
  display: block;
  overflow: hidden;
  border-radius: 2px 5px 5px 2px;
  background: var(--wine-800);
  transform: translateZ(calc(var(--bd) / 2));
  box-shadow: 0.35rem 0.5rem 1.4rem rgba(0, 0, 0, 0.35);
}
.book3d__cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* ყდის ნაკეცი (ყუასთან) */
.book3d__cover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.22) 0, rgba(0, 0, 0, 0.18) 1.6%, rgba(255, 255, 255, 0.12) 3.4%, transparent 7%);
  pointer-events: none;
}
/* ფურცლების კიდე */
.book3d__body::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 0;
  width: var(--bd);
  height: calc(100% - 6px);
  transform: translateX(calc(var(--bw) - var(--bd) / 2 - 3px)) rotateY(90deg);
  background: repeating-linear-gradient(90deg, #fffdf8 0, #fffdf8 1px, #e6dccb 2px, #fffdf8 3px);
}
/* უკანა ყდა + ჩრდილი */
.book3d__body::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 2px 5px 5px 2px;
  background: var(--wine-950);
  transform: translateZ(calc(var(--bd) / -2));
  box-shadow: -0.9rem 1rem 2.6rem rgba(0, 0, 0, 0.45);
}
@media (prefers-reduced-motion: reduce) {
  .book3d__body { transition: none; }
}

/* ── თარო ─────────────────────────────────────────────────────────────────── */
.shelf {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15.5rem), 1fr));
  gap: var(--sp-7) var(--sp-6);
  align-items: end;
  padding-bottom: var(--sp-5);
  position: relative;
}
.shelf__item { display: flex; flex-direction: column; align-items: center; gap: var(--sp-5); min-width: 0; text-align: center; }
.shelf__info { display: grid; gap: 0.3rem; justify-items: center; min-width: 0; }
.shelf__title { font-family: var(--font-serif); font-size: var(--fs-lg); font-weight: 700; line-height: 1.35; }
.shelf__title a { color: inherit; text-decoration: none; }
.shelf__title a:hover { text-decoration: underline; text-decoration-color: var(--gold-600); text-underline-offset: 0.2em; }
.shelf__author { font-size: var(--fs-sm); color: var(--ink-3); }
.shelf__price { font-family: var(--font-serif); font-weight: 700; font-size: var(--fs-lg); color: var(--wine-700); }
.shelf__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin-top: 0.4rem; }
/* თაროს ფიცარი */
.shelf::after {
  content: "";
  grid-column: 1 / -1;
  height: 0.9rem;
  margin-top: calc(var(--sp-5) * -1);
  border-radius: 3px;
  background: linear-gradient(180deg, var(--gold-400), var(--gold-700));
  box-shadow: 0 0.8rem 1.4rem rgba(42, 10, 16, 0.25);
  order: 99;
  display: none;
}

/* მუქ (ღვინისფერ) სექციაში */
.section--wine .shelf__title, .section--wine .shelf__title a { color: #fff; }
.section--wine .shelf__author { color: var(--wine-200); }
.section--wine .shelf__price { color: var(--gold-300); }

/* ── მთავარი გვერდის ზოლი ─────────────────────────────────────────────────── */
.library-band { display: grid; gap: var(--sp-7); align-items: center; }
.library-band__books { display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-end; gap: var(--sp-6) var(--sp-7); }
.library-band__quote { font-family: var(--font-serif); font-size: var(--fs-lg); line-height: 1.6; color: var(--ink-2); border-left: 3px solid var(--gold-600); padding-left: var(--sp-4); }
@media (min-width: 64em) {
  .library-band { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--sp-8); }
}

/* ── წიგნის გვერდი ────────────────────────────────────────────────────────── */
.book-head { display: grid; gap: var(--sp-7); align-items: center; justify-items: center; }
.book-head__body { display: grid; gap: var(--sp-4); min-width: 0; justify-items: start; width: 100%; }
.book-head__title { font-family: var(--font-serif); font-size: var(--fs-3xl); line-height: var(--lh-tight); font-weight: 700; color: var(--ink); overflow-wrap: anywhere; }
.book-head__author { font-size: var(--fs-md); color: var(--ink-2); }
.book-head__author a { color: var(--wine-700); font-weight: 600; }
.book-head__price { font-family: var(--font-serif); font-size: var(--fs-2xl); font-weight: 700; color: var(--wine-700); line-height: 1; }
.book-head__lead { font-size: var(--fs-md); line-height: var(--lh-body); color: var(--ink-2); }
.book-facts { display: flex; flex-wrap: wrap; gap: 0.5rem 1.25rem; font-size: var(--fs-sm); color: var(--ink-3); list-style: none; padding: 0; }
.book-facts li { display: inline-flex; align-items: center; gap: 0.4rem; }
.book-facts .icon { color: var(--gold-700); }
@media (min-width: 48em) {
  .book-head { grid-template-columns: auto minmax(0, 1fr); gap: var(--sp-8); justify-items: stretch; }
}
.book-desc { white-space: pre-line; line-height: var(--lh-body); color: var(--ink-2); max-width: 46rem; }

/* ── შეძენა ───────────────────────────────────────────────────────────────── */
.buy-grid { display: grid; gap: var(--sp-5); align-items: start; }
@media (min-width: 56em) {
  .buy-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--sp-6); }
}
.steps { counter-reset: step; display: grid; gap: var(--sp-3); list-style: none; padding: 0; }
.steps li { counter-increment: step; display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: 0.75rem; align-items: start; font-size: var(--fs-sm); line-height: 1.6; color: var(--ink-2); }
.steps li::before {
  content: counter(step);
  display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%;
  background: var(--gold-100); color: var(--wine-700); font-family: var(--font-serif); font-weight: 700; box-shadow: inset 0 0 0 1px #E3CFA3;
}
.order-code {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem;
  padding: 1rem 1.25rem; border-radius: var(--r-md);
  background: var(--gold-100); border: 1px dashed var(--gold-600);
}
.order-code__label { display: block; font-size: var(--fs-xs); font-weight: 600; color: var(--gold-800); text-transform: uppercase; letter-spacing: 0.06em; }
.order-code__value { font-family: var(--font-mono); font-size: var(--fs-2xl); font-weight: 700; letter-spacing: 0.08em; color: var(--wine-800); user-select: all; }
.owned-list { display: grid; gap: var(--sp-4); list-style: none; padding: 0; }
.owned-list li { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-4); padding: var(--sp-4); border: 1px solid var(--line); border-radius: var(--r-md); background: var(--paper); }
.owned-list img { width: 3.5rem; border-radius: 3px; box-shadow: var(--sh-sm); }
.owned-list__body { flex: 1; min-width: 10rem; }
.owned-list__title { font-family: var(--font-serif); font-weight: 700; color: var(--ink); }

/* ── ფასები / აქცია ──────────────────────────────────────────────────────── */
.price-old { font-size: 0.72em; font-weight: 500; color: var(--ink-3); text-decoration-thickness: 2px; margin-right: 0.3em; }
.section--wine .price-old { color: var(--wine-200); }
.price-tag {
  display: inline-block; vertical-align: middle; margin-left: 0.5rem; padding: 0.25rem 0.6rem; border-radius: 999px;
  font-family: var(--font-sans); font-size: var(--fs-xs); font-weight: 700; letter-spacing: 0.02em;
  background: var(--gold-100); color: var(--gold-800); box-shadow: inset 0 0 0 1px #E3CFA3;
}
.promo-band {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0.5rem 1.25rem;
  padding: 0.85rem 1.25rem; border-radius: var(--r-md); text-align: center;
  background: linear-gradient(90deg, var(--gold-100), #FBF4E4); border: 1px solid #E3CFA3; color: var(--gold-800);
}
.promo-band__percent { font-family: var(--font-serif); font-size: var(--fs-2xl); font-weight: 700; color: var(--wine-700); line-height: 1; }
.promo-band__text { font-weight: 600; }
.promo-band__until { font-size: var(--fs-sm); color: var(--ink-3); }

/* ── შეთავაზებების ბარათები (ბიბლიოთეკა) ──────────────────────────────────── */
.offers { display: grid; gap: var(--sp-5); align-items: stretch; }
@media (min-width: 56em) { .offers { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.offer {
  position: relative; display: flex; flex-direction: column; gap: 0.9rem; padding: 1.75rem 1.5rem;
  background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg);
}
.offer--best { border-color: var(--gold-600); box-shadow: var(--sh-md); }
.offer--wine { background: var(--wine-800); border-color: var(--wine-800); color: #fff; }
.offer__badge {
  position: absolute; top: -0.8rem; left: 1.25rem; padding: 0.3rem 0.75rem; border-radius: 999px;
  font-size: var(--fs-xs); font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase;
  background: var(--gold-400); color: var(--wine-950);
}
.offer__title { font-family: var(--font-serif); font-size: var(--fs-xl); font-weight: 700; line-height: 1.25; }
.offer__price { font-family: var(--font-serif); font-size: var(--fs-3xl); font-weight: 700; line-height: 1; color: var(--wine-700); }
.offer--wine .offer__price { color: var(--gold-300); }
.offer__save { font-size: var(--fs-sm); font-weight: 600; color: var(--success); }
.offer--wine .offer__save { color: var(--gold-300); }
.offer__list { display: grid; gap: 0.45rem; list-style: none; padding: 0; font-size: var(--fs-sm); line-height: 1.5; color: var(--ink-2); }
.offer--wine .offer__list { color: #F1E4DF; }
.offer__list li { display: flex; gap: 0.5rem; align-items: flex-start; }
.offer__list .icon { flex: none; width: 1.1rem; height: 1.1rem; margin-top: 0.15rem; color: var(--gold-700); }
.offer--wine .offer__list .icon { color: var(--gold-300); }
.offer__foot { margin-top: auto; padding-top: 0.5rem; }
.offer__note { font-size: var(--fs-xs); color: var(--ink-3); }
.offer--wine .offer__note { color: var(--wine-200); }

/* ── შეკვეთის ფორმაში ტიპის არჩევა ────────────────────────────────────────── */
.offer-picks { display: grid; gap: 0.6rem; }
.offer-pick {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 0.75rem; align-items: center; cursor: pointer;
  padding: 0.85rem 1rem; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--paper);
  transition: border-color 0.2s, box-shadow 0.2s;
}
.offer-pick:hover { border-color: var(--gold-600); }
.offer-pick.is-picked { border-color: var(--wine-700); box-shadow: 0 0 0 2px rgba(122, 31, 43, 0.15); background: var(--wine-50); }
.offer-pick input { width: 1.15rem; height: 1.15rem; accent-color: var(--wine-700); margin: 0; }
.offer-pick__title { font-weight: 700; color: var(--ink); display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center; }
.offer-pick__hint { font-size: var(--fs-xs); color: var(--ink-3); line-height: 1.45; }
.offer-pick__price { font-family: var(--font-serif); font-weight: 700; font-size: var(--fs-lg); color: var(--wine-700); white-space: nowrap; text-align: right; }
.offer-pick__price .price-old { display: block; margin: 0; font-size: var(--fs-xs); }
.offer-pick__tag { padding: 0.15rem 0.5rem; border-radius: 999px; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; background: var(--gold-400); color: var(--wine-950); }
.check-row { display: flex; gap: 0.6rem; align-items: flex-start; font-size: var(--fs-sm); color: var(--ink-2); cursor: pointer; }
.check-row input { width: 1.1rem; height: 1.1rem; margin-top: 0.15rem; accent-color: var(--wine-700); flex: none; }

/* ── ბანკის აპით გადახდა ──────────────────────────────────────────────────── */
.pay-app { display: grid; gap: 0.75rem; padding: 1.1rem 1.25rem; border-radius: var(--r-md); background: var(--wine-50); border: 1px solid var(--wine-200); }
.pay-app__title { font-weight: 700; color: var(--wine-800); }
.pay-app__text { font-size: var(--fs-sm); color: var(--ink-2); line-height: 1.55; }
.pay-app__row { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.pay-app__note { font-size: var(--fs-sm); line-height: 1.55; padding: 0.75rem 1rem; border-radius: var(--r-md); background: var(--success-bg); color: #1F4A33; }
.pay-app__note ol { margin: 0.4rem 0 0 1.1rem; padding: 0; display: grid; gap: 0.2rem; }

/* ── მადლობის კედელი ─────────────────────────────────────────────────────── */
.wall { display: flex; flex-wrap: wrap; gap: 0.6rem; justify-content: center; list-style: none; padding: 0; }
.wall li { padding: 0.5rem 1rem; border-radius: 999px; background: var(--gold-100); color: var(--gold-800); font-weight: 600; font-size: var(--fs-sm); box-shadow: inset 0 0 0 1px #E3CFA3; }
.wall--empty { font-size: var(--fs-sm); color: var(--ink-3); text-align: center; }
