/* Detail-page presentation only. Existing backgrounds and catalogue remain intact. */
.book-intro{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);column-gap:clamp(28px,4vw,140px);row-gap:32px;align-items:center;padding-bottom:64px}
.book-intro .book-return{grid-column:1/-1;justify-self:start;display:inline-flex;align-items:center;min-height:52px;padding:9px 20px;border:2px solid var(--gold);border-radius:7px;color:#ffe1a3;font-size:clamp(20px,.85vw,28px);font-weight:700;line-height:1.5;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.book-intro .book-return:hover,.book-intro .book-return:focus-visible{color:#fff5df;border-color:#fff0c4;text-decoration-thickness:2px}
.book-intro-copy{min-width:0}
.book-intro-copy>.eyebrow{margin-top:0}
.book-intro-copy>p:last-child{color:var(--muted);max-width:85ch;margin-bottom:0}
.book-intro-books{min-width:0;width:100%;justify-self:center}
.book-intro-books .edition-panel{display:block}
.book-intro-books .book-picture{width:min(100%,clamp(250px,25vw,520px));max-width:none;margin:0 auto;padding:0 16px}
/* Six-face books: original artwork is clipped, never redrawn. */
.book-intro .book-picture{perspective:1400px;perspective-origin:50% 40%}
.book-intro .cover-button.book-volume,
.book-intro .cover-button.book-volume:hover,
.book-intro .cover-button.book-volume:focus-visible{
 --book-depth:clamp(22px,2.8vw,44px);
 transform:rotateX(var(--book-rx,3deg)) rotateY(var(--book-ry,-25deg));
 transform-origin:50% 50% calc(var(--book-depth) / -2);
 transform-style:preserve-3d;overflow:visible;touch-action:pan-y pinch-zoom;cursor:grab;
 user-select:none;-webkit-user-select:none;box-shadow:none;
 transition:transform .75s cubic-bezier(.2,.75,.25,1);
}
.book-intro .cover-button.book-volume.is-dragging{cursor:grabbing;transition:none}
.book-intro .book-volume::before,.book-intro .book-volume::after{content:none}
.book-intro .book-face{display:block;backface-visibility:hidden;pointer-events:none;background:#131613}
.book-intro .book-front{position:relative;transform:translateZ(.4px);box-shadow:-7px 14px 25px #0008}
.book-intro .book-front>img{width:100%;height:auto;display:block;border-radius:1px}
.book-intro .book-front .cover-window{box-shadow:none}
.book-intro .book-front .zoom-hint{transform:translateZ(1px)}
.book-intro .book-back{position:absolute;inset:0;transform:translateZ(calc(-1 * var(--book-depth))) rotateY(180deg);overflow:hidden}
.book-intro .book-back>img{width:100%;height:100%;max-width:none;object-fit:fill}
.book-intro .book-spine{position:absolute;top:0;left:0;width:var(--book-depth);height:100%;transform-origin:left center;transform:translateZ(calc(-1 * var(--book-depth))) rotateY(-90deg);overflow:hidden;background:linear-gradient(90deg,#090b0b,#292722 30%,#141615 80%,#080a09);border-top:1px solid #64563a;border-bottom:1px solid #64563a}
.book-intro .book-edge{position:absolute;background:repeating-linear-gradient(90deg,#c6bfad 0 1px,#eee8d9 1px 3px,#d6cebc 3px 4px);border:2px solid #26241f;box-shadow:inset 0 0 5px #0004}
.book-intro .book-edge-right{top:0;left:100%;width:var(--book-depth);height:100%;transform-origin:left center;transform:rotateY(90deg)}
.book-intro .book-edge-top{top:0;left:0;width:100%;height:var(--book-depth);transform-origin:center top;transform:translateZ(calc(-1 * var(--book-depth))) rotateX(90deg);background:repeating-linear-gradient(0deg,#bcb4a1 0 1px,#e8e1d1 1px 3px)}
.book-intro .book-edge-bottom{top:100%;left:0;width:100%;height:var(--book-depth);transform-origin:center top;transform:rotateX(-90deg);background:repeating-linear-gradient(0deg,#bcb4a1 0 1px,#e8e1d1 1px 3px)}
.book-intro .book-face .book-texture{position:absolute;max-width:none;object-fit:fill;display:block}
.book-intro .book-rotation-controls{position:relative;z-index:2;text-align:center;margin:30px -8px 0;font:11px/1.6 var(--sans);color:var(--muted)}
.book-intro .book-rotation-controls p{margin:0 0 8px;max-width:none}
.book-intro .book-tour{font-size:11px;border-radius:20px;padding:7px 14px;background:#131311cc;color:var(--gold)}
.book-intro .book-tour:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:600px){.book-intro .cover-button.book-volume{--book-depth:28px}}
@media(prefers-reduced-motion:reduce){.book-intro .cover-button.book-volume{transition:none!important}}


.book-intro .book-rotation-controls{font-size:clamp(12px,.6vw,18px);margin-top:28px;color:#e0d4c1}
.book-intro .book-tour{font-size:clamp(13px,.65vw,20px);min-height:44px;padding:8px 18px}
@media(max-width:850px){.book-intro{grid-template-columns:minmax(0,1fr);row-gap:34px}.book-intro .book-return{grid-column:1}.book-intro-books .book-picture{width:min(80%,360px)}.book-intro-copy h1{margin-bottom:28px}.book-intro-copy h2{margin-bottom:24px}}
@media(max-width:550px){.book-intro{padding-bottom:46px}.book-intro .book-return{font-size:20px;padding:9px 14px}.book-intro-books .book-picture{width:min(92%,320px);padding:0 18px}.book-intro .book-rotation-controls{font-size:12px}}

/* Book-detail purchase cards: keep the original art, atmosphere and interactions. */
.catalog .single .book-card{padding:clamp(26px,2.7vw,90px);overflow:clip}
.catalog .single .book-heading{gap:20px;margin-bottom:clamp(30px,2.5vw,64px);padding-bottom:22px}
.catalog .single .book-heading h3{font-size:clamp(32px,1.7vw,56px);margin-bottom:8px}
.catalog .single .book-heading p{font-size:clamp(15px,.85vw,26px)}
.catalog .single .volume{font-size:clamp(40px,2.1vw,68px)}
.catalog .single .edition-panel{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,4vw,140px);align-items:start}
.catalog .single .book-picture{width:min(88%,520px);max-width:clamp(320px,26vw,520px);margin:18px auto 0;padding:0 14px}
.catalog .single .edition-description{min-width:0;margin:0;padding-top:8px}
.catalog .single .edition-label{font-size:clamp(16px,.9vw,28px);max-width:none;margin:0 0 20px;padding-bottom:14px}
.catalog .single .edition-description>.summary{font-size:clamp(17px,.95vw,28px);line-height:1.8;color:#dfd7c9;max-width:68ch;margin:0 0 28px;padding:0}
.catalog .single .format{padding:clamp(18px,1vw,30px);margin:16px 0}
.catalog .single .format-title{font-size:clamp(18px,1vw,28px);max-width:none;gap:8px 16px;margin-bottom:16px}
.catalog .single .format-title small{font-size:clamp(12px,.6vw,18px)!important;line-height:1.5;overflow-wrap:anywhere}
.catalog .single .retailers{gap:10px}
.catalog .single .retailers a{font-size:clamp(16px,.85vw,24px);min-height:48px;padding:12px 16px}
.catalog .single .back-cover{display:inline-flex;align-items:center;text-align:left;min-height:48px;width:fit-content;max-width:100%;margin-top:12px;padding:8px 0;font-size:clamp(16px,.85vw,24px);line-height:1.5}
.catalog .single .release{padding:0;margin:20px 0}
.catalog .single .release>span{font-size:clamp(15px,.8vw,24px)}
.catalog .single .release strong{font-size:clamp(28px,1.6vw,48px);margin-top:6px}
.catalog .single .edition-description>p:not(.release):not(.edition-label):not(.summary){font-size:clamp(16px,.85vw,24px);max-width:68ch}
.catalog .single .edition-description>.isbn{font-size:clamp(14px,.75vw,22px)!important;line-height:1.7;margin-bottom:0;overflow-wrap:anywhere}
.catalog .single .book-rotation-controls{font-size:clamp(13px,.7vw,21px);line-height:1.6;margin-top:28px;color:#dfd7c9}
.catalog .single .book-tour{font-size:clamp(14px,.75vw,22px);min-height:46px;padding:9px 18px}
@media(max-width:980px){
 .catalog .single .edition-panel{grid-template-columns:minmax(0,1fr);gap:32px}
 .catalog .single .book-picture{width:min(82%,350px);max-width:350px;margin:12px auto 0}
 .catalog .single .edition-description{width:100%;max-width:72ch;margin:0 auto}
}
@media(max-width:550px){
 .catalog .single .book-card{padding:22px 18px}
 .catalog .single .book-heading{margin-bottom:24px;gap:14px}
 .catalog .single .book-heading h3{font-size:30px}
 .catalog .single .book-heading p{font-size:14px}
 .catalog .single .book-picture{width:min(94%,300px);padding-inline:12px}
 .catalog .single .edition-description>.summary{font-size:16px;line-height:1.75;margin-bottom:24px}
 .catalog .single .format{padding:14px 12px}
 .catalog .single .format-title small{margin-left:0;flex-basis:100%}
 .catalog .single .retailers{gap:8px}
 .catalog .single .retailers a{padding:11px 10px;font-size:15px}
}
