.book-page { background: var(--surface); }

.breadcrumbs,
.author-breadcrumbs {
  width: min(calc(100% - 3rem), var(--max));
  margin: 0 auto;
  padding: 1.4rem 0 0;
  display: flex;
  gap: 0.55rem;
  color: var(--ink-soft);
  font-size: 0.82rem;
}

.book-detail-hero {
  width: min(calc(100% - 3rem), var(--max));
  margin: 0 auto;
  padding: clamp(3rem, 7vw, 7rem) 0 clamp(5rem, 9vw, 9rem);
  display: grid;
  grid-template-columns: minmax(340px, 0.86fr) minmax(0, 1fr);
  gap: clamp(3rem, 8vw, 8rem);
  align-items: center;
}

.book-detail-cover-link,
.related-book-cover-link,
.related-book-title-link { color: inherit; text-decoration: none; }

.book-detail-visual {
  position: relative;
  isolation: isolate;
  width: 100%;
  aspect-ratio: 2 / 3;
  overflow: hidden;
  display: grid;
  place-items: center;
  perspective: 1300px;
  background: radial-gradient(circle at 45% 32%, #b39d80, transparent 30%), linear-gradient(145deg, #211d19, #695542 58%, #c8b18e);
  box-shadow: 0 34px 70px rgba(35,31,27,0.22);
}

.book-detail-visual::after {
  position: absolute;
  z-index: -1;
  content: "";
  inset: 0;
  background: radial-gradient(circle at 50% 45%, transparent 30%, rgba(9,8,7,0.28) 100%);
}

.docas-book-object {
  position: relative;
  z-index: 1;
  display: block;
  width: 78%;
  max-height: 90%;
  transform: rotateY(-5deg) rotateZ(0.15deg);
  transform-origin: 50% 50%;
  transform-style: preserve-3d;
  transition: transform 220ms ease;
}

.docas-book-front {
  position: relative;
  z-index: 3;
  display: block;
  overflow: hidden;
  background: #f6f0e5;
  box-shadow: 14px 24px 28px rgba(0,0,0,0.34), 0 1px 0 rgba(255,255,255,0.32) inset;
}

.docas-book-front-image {
  display: block;
  width: 100%;
  height: auto;
}

.docas-book-spine {
  position: absolute;
  z-index: 2;
  top: 0.25%;
  bottom: 0.25%;
  left: -6.55%;
  width: 7.25%;
  height: 99.5%;
  object-fit: cover;
  transform: rotateY(-18deg);
  transform-origin: right center;
  box-shadow: -6px 10px 16px rgba(0,0,0,0.28), 1px 0 rgba(255,255,255,0.18) inset;
}

.docas-book-page-edge {
  position: absolute;
  z-index: 2;
  right: 0.7%;
  bottom: -1.1%;
  left: -4.8%;
  height: 1.5%;
  transform: skewX(-55deg);
  transform-origin: top right;
  background: repeating-linear-gradient(0deg, #efe9dd 0 2px, #cfc7ba 2px 3px);
  box-shadow: 0 7px 10px rgba(0,0,0,0.2);
}

.docas-book-cast-shadow {
  position: absolute;
  z-index: -1;
  right: -10%;
  bottom: -5%;
  left: -12%;
  height: 14%;
  transform: rotate(-2deg);
  border-radius: 50%;
  background: rgba(0,0,0,0.34);
  filter: blur(16px);
}

.book-detail-cover-link:hover .docas-book-object,
.book-detail-cover-link:focus-visible .docas-book-object {
  transform: translateY(-7px) rotateY(-3deg) rotateZ(0deg) scale(1.01);
}

.edition-cover-placeholder {
  max-width: 12ch;
  padding: 2rem;
  color: #fff;
  font-family: var(--serif);
  font-size: clamp(1.6rem, 4vw, 3rem);
  line-height: 1.05;
  text-align: center;
}

.book-detail-copy h1 {
  max-width: 12ch;
  margin: 0;
  font-size: clamp(3rem, 6vw, 6.6rem);
  font-weight: 600;
  letter-spacing: -0.06em;
  line-height: 0.94;
}

.book-detail-author { margin: 1.2rem 0 0; color: var(--accent); font-weight: 700; }
.book-detail-author a,
.book-facts a { color: inherit; text-decoration-thickness: 1px; }

.book-detail-summary {
  max-width: 55ch;
  margin: 2rem 0 0;
  color: var(--ink-soft);
  font-family: var(--serif);
  font-size: clamp(1.08rem, 1.6vw, 1.32rem);
  line-height: 1.65;
}

.purchase-panel {
  max-width: 660px;
  margin-top: 2.5rem;
  padding: 1.5rem;
  display: grid;
  grid-template-columns: auto minmax(260px, 1fr);
  gap: 1.4rem 2rem;
  align-items: end;
  background: var(--paper);
  border: 1px solid var(--line);
}

.purchase-label,
.availability,
.purchase-note { margin: 0; }
.purchase-label { color: var(--ink-soft); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.book-price { margin: 0.12rem 0 0; font-size: 1.8rem; font-weight: 750; }
.book-price del { color: var(--ink-soft); font-size: 0.8em; }
.book-price ins { text-decoration: none; }
.availability { color: #40614b; font-size: 0.82rem; font-weight: 700; }
.purchase-action form.cart { margin: 0; display: grid; grid-template-columns: 74px 1fr; gap: 0.7rem; }
.purchase-action .quantity input { width: 100%; min-height: 50px; padding: 0.7rem; border: 1px solid var(--line); background: var(--surface); color: var(--ink); }
.purchase-action .single_add_to_cart_button { min-height: 50px; padding: 0.8rem 1.2rem; border: 1px solid var(--ink); background: var(--ink); color: #fff; font-weight: 700; cursor: pointer; }
.purchase-action .single_add_to_cart_button:hover { background: var(--accent-dark); }
.purchase-note { grid-column: 1 / -1; color: var(--ink-soft); font-size: 0.8rem; }

.book-reading {
  display: grid;
  grid-template-columns: minmax(220px, 0.55fr) minmax(0, 1.2fr) minmax(230px, 0.65fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: start;
  background: var(--paper);
}

.book-reading h2,
.book-connections h2 { margin: 0; font-size: clamp(2.3rem, 4vw, 4.7rem); font-weight: 500; letter-spacing: -0.05em; line-height: 1; }
.book-story { font-family: var(--serif); font-size: 1.12rem; line-height: 1.78; }
.book-story p:first-child { margin-top: 0; }
.book-facts { margin: 0; padding: 1.4rem; background: var(--surface); border-top: 3px solid var(--ink); }
.book-facts div { padding: 0.8rem 0; border-bottom: 1px solid var(--line); }
.book-facts dt { color: var(--ink-soft); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.book-facts dd { margin: 0.15rem 0 0; font-size: 0.94rem; }
.book-connections { background: var(--surface); }
.book-editorial-context { display: grid; grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr); gap: clamp(2rem, 6vw, 7rem); align-items: start; border-top: 1px solid var(--line); }
.book-editorial-context-copy { max-width: 68ch; font-family: var(--serif); font-size: clamp(1.18rem, 1.8vw, 1.55rem); line-height: 1.48; }
.book-editorial-context-copy p { margin: 0 0 1.15em; }
.book-editorial-context-copy p:last-child { margin-bottom: 0; }
.book-reference-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.book-reference-card { min-height: 240px; padding: clamp(1.6rem, 3vw, 2.6rem); background: var(--paper); }
.book-reference-card--subtle { background: color-mix(in srgb, var(--paper) 80%, var(--surface)); color: var(--ink-soft); }
.book-reference-card h3 { margin: 0; font-size: 1.3rem; line-height: 1.16; }
.book-reference-card p { margin: 0.75rem 0 0; max-width: 62ch; line-height: 1.52; }
.book-reference-authors { font-weight: 650; }
.book-reference-publication, .book-reference-doi { color: var(--ink-soft); font-size: 0.83rem; }
.book-reference-actions { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; margin-top: 1.25rem; }
.related-books { background: var(--paper); }
.related-books .section-heading h2 { max-width: 15ch; }

.connection-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.connection-card { min-height: 260px; padding: clamp(2rem, 4vw, 4rem); display: flex; flex-direction: column; background: var(--paper); text-decoration: none; }
.connection-card > span:first-child { color: var(--ink-soft); font-size: 0.76rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.connection-card strong { max-width: 23ch; margin-top: 1.4rem; font-family: var(--serif); font-size: clamp(1.45rem, 2.6vw, 2.4rem); font-weight: 400; line-height: 1.2; }
.connection-card > span:last-child { margin-top: auto; font-size: 1.4rem; }
.connection-card:hover { background: var(--paper-deep); }

.related-book-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(2rem, 5vw, 5rem); }
.related-book-card { display: grid; grid-template-columns: minmax(110px, 0.54fr) minmax(0, 1fr); gap: clamp(1.2rem, 2.6vw, 2.4rem); align-items: start; }
.related-book-cover { position: relative; overflow: hidden; width: 100%; aspect-ratio: 2 / 3; display: grid; place-items: center; margin: 0; background: radial-gradient(circle at 50% 35%, rgba(255,255,255,0.46), transparent 25%), linear-gradient(145deg, #d8ccba, #776858); box-shadow: 0 16px 30px rgba(35,31,27,0.15); transition: transform 180ms ease, box-shadow 180ms ease; }
.related-book-cover .docas-book-object { width: 78%; }
.related-book-cover .docas-book-front { box-shadow: 8px 13px 18px rgba(0,0,0,0.29); }
.related-book-cover .docas-book-cast-shadow { filter: blur(9px); }
.related-book-cover-link:hover .related-book-cover,
.related-book-cover-link:focus-visible .related-book-cover { transform: translateY(-5px); box-shadow: 14px 22px 28px rgba(35,31,27,0.21); }
.related-book-copy { display: flex; min-height: 100%; flex-direction: column; }
.related-book-taxonomy { margin: 0 0 0.45rem; color: var(--ink-soft); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; }
.related-book-card h3 { margin: 0; font-size: clamp(1.15rem, 1.7vw, 1.48rem); font-weight: 650; line-height: 1.16; }
.related-book-title-link:hover,
.related-book-title-link:focus-visible { text-decoration: underline; }
.related-book-summary { margin: 1rem 0 1.2rem; color: var(--ink-soft); font-family: var(--serif); font-size: 0.94rem; line-height: 1.55; }
.related-book-authors { display: flex; margin-top: auto; flex-wrap: wrap; gap: 0.25rem 0.42rem; color: var(--accent); font-size: 0.82rem; font-weight: 700; }

@media (max-width: 900px) {
  .book-detail-hero,
  .book-reading,
  .book-editorial-context { grid-template-columns: 1fr; }
  .book-detail-cover-link { width: min(520px, 100%); margin: 0 auto; }
  .purchase-panel { grid-template-columns: 1fr; }
  .purchase-note { grid-column: auto; }
  .related-book-grid { grid-template-columns: 1fr; }
  .related-book-card { grid-template-columns: minmax(130px, 0.36fr) minmax(0, 1fr); max-width: 760px; }
}

@media (max-width: 620px) {
  .breadcrumbs,
  .book-detail-hero { width: min(calc(100% - 2rem), var(--max)); }
  .purchase-action form.cart,
  .connection-grid,
  .related-book-card { grid-template-columns: 1fr; }
  .related-book-cover-link { width: min(260px, 76%); }
  .purchase-action .quantity input { width: 90px; }
}
