.craft-book{position:relative}
.book-details-trigger{display:inline-flex;align-items:center;gap:12px;border:0;background:none;color:var(--ink);font:inherit;font-size:12px;font-weight:600;padding:8px 0;cursor:pointer}
.book-details-trigger::after{content:"";position:absolute;inset:0;border-radius:12px}
.book-details-trigger:focus-visible{outline:none}
.book-details-trigger:focus-visible::after{outline:3px solid var(--ink);outline-offset:6px}
.craft-book:has(.book-details-trigger):hover .book-cover{transform:translateY(-4px)}
.book-dialog{width:min(1000px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);box-shadow:0 28px 90px rgba(25,30,44,.25)}
.book-dialog::backdrop{background:rgba(20,25,36,.58);backdrop-filter:blur(5px)}
.book-dialog-content{padding:24px 36px 36px}
.book-dialog-toolbar{display:flex;justify-content:flex-end;margin-bottom:16px}
.book-dialog-close{min-height:44px;padding:10px 16px;gap:12px}
.book-dialog-main{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:center}
.book-dialog-cover{margin:0;padding:24px;background:var(--panel,#f8f9fd);border-radius:12px;display:flex;justify-content:center}
.book-dialog-cover img{display:block;max-width:100%;width:auto;height:auto;max-height:420px;object-fit:contain;box-shadow:0 12px 25px rgba(35,43,67,.15)}
.book-dialog h2{margin:0 0 20px;font-size:clamp(28px,4vw,44px);line-height:1.08;letter-spacing:-.045em;overflow-wrap:anywhere}
.book-dialog-description{color:#536077;font-size:16px;line-height:1.7}
.book-facts{display:grid;grid-template-columns:.8fr .8fr 1.2fr 1fr 1.2fr;gap:20px;margin:32px 0 0;padding:28px 0;border-block:1px solid var(--line)}
.book-facts dt{font-size:11px;color:#697487;margin-bottom:8px}
.book-facts dd{margin:0;font-size:19px;font-weight:600;letter-spacing:-.03em;overflow-wrap:anywhere}
body.book-dialog-open{overflow:hidden}
@media(max-width:700px){.book-dialog-content{padding:16px 24px 24px}.book-dialog-main{grid-template-columns:1fr;gap:28px}.book-dialog-cover img{max-height:300px}.book-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}.book-facts dd{font-size:17px}}
@media(prefers-reduced-motion:reduce){.craft-book:has(.book-details-trigger):hover .book-cover{transform:none}}
