/* Shared hardcover treatment: automatically applied to newly rendered books. */
body .bc-hardcover.bc-hardcover{border-radius:4px 5px 3px 3px!important;transform:none!important;overflow:visible!important;box-shadow:5px 4px 8px #0007!important}
body .bc-hardcover:not(.bc-reference)::before{content:'';display:block!important;position:absolute;inset:0 auto 0 0;width:10%;z-index:8;pointer-events:none;background-image:url('/catalog-reference.png');background-size:7314.2857% 538.9474%;background-position:54.3234% 48.9209%;border-radius:4px 0 0 3px;box-shadow:2px 0 3px #0007}
body .bc-hardcover:not(.bc-reference)::after{content:'';position:absolute;inset:0;z-index:9;pointer-events:none;border-radius:inherit;box-shadow:inset -2px 0 2px #e7cd9266,inset 0 -2px 2px #0006}
body .bc-hardcover.bc-hardcover>.spine-edge,body .bc-hardcover.bc-hardcover>.pages,body .bc-hardcover.bc-hardcover>.shadow-drop,body .bc-hardcover>.bk3d-spine,body .bc-hardcover>.bk3d-pages,body .bc-hardcover>.bk3d-shine{display:none!important}
body .bc-hardcover.bc-hardcover>.cover-face{inset:0 0 0 9%!important;width:91%!important;height:100%!important;aspect-ratio:auto!important;transform:none!important;border-radius:0 4px 3px 0!important;box-shadow:none!important}
body .bc-hardcover>.cover{transform:none!important;border-radius:4px!important}
body .bc-hardcover .cover-img{object-fit:fill!important}
body .bc-hardcover.bc-reference{background-image:url('/catalog-reference.png')!important;background-size:var(--bc-size)!important;background-position:var(--bc-position)!important;background-repeat:no-repeat!important}
body .bc-hardcover.bc-reference>*{visibility:hidden!important}
body .bc-cover-frame{display:block;position:relative;width:100%;aspect-ratio:1/1;margin:0 0 9px}
body .bc-cover-frame>img{position:absolute!important;inset:0 0 0 9%!important;width:91%!important;height:100%!important;aspect-ratio:auto!important;object-fit:fill!important;transform:none!important;margin:0!important;border-radius:0 4px 3px 0!important}
body .bk3d:has(.bc-hardcover){aspect-ratio:1/1!important}
body .grid .card .book3d-wrap:has(.bc-hardcover){aspect-ratio:1/1!important}
/* Catalogue sizing stays controlled by the twelve-book shelf layout. */
#view-catalog[data-twelve] .bc-hardcover:not(.bc-reference)>.cover-face{left:9%!important;width:91%!important}
#view-catalog[data-twelve] .bc-hardcover>.spine-edge,#view-catalog[data-twelve] .bc-hardcover>.pages,#view-catalog[data-twelve] .bc-hardcover>.shadow-drop{display:none!important}
/* Preserve full portrait cover artwork on book detail pages. */
body .bk3d:has(.bc-hardcover:not(.bc-reference)){aspect-ratio:20/27!important}
body .bk3d .bc-hardcover:not(.bc-reference)>img.cover{left:9%!important;right:0!important;width:91%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:#17252b!important;box-shadow:none!important}

/* Approved portrait book detail design. */
body.bc-editorial .hero{grid-template-columns:330px minmax(0,1fr)!important}
body.bc-editorial .hero .bk3d{width:330px!important;max-width:100%!important;aspect-ratio:2/3!important}
body.bc-editorial .hero .bc-hardcover{background-image:none!important;background:transparent!important}
body.bc-editorial .hero .bk3d .bc-hardcover>img.cover{visibility:visible!important;left:0!important;right:0!important;width:100%!important;height:100%!important;object-fit:contain!important;background:transparent!important}
@media(max-width:680px){body.bc-editorial .hero{grid-template-columns:minmax(0,1fr)!important}body.bc-editorial .hero .bk3d{width:min(240px,100%)!important}}

body.bc-editorial .hero{gap:48px!important;align-items:stretch!important}
body.bc-editorial .hero>div:nth-child(2){display:flex;flex-direction:column;min-height:495px;padding:8px 0 0;max-width:740px}
body.bc-editorial .hero h1{margin:0 0 12px!important;font-size:clamp(36px,3.5vw,52px)!important;line-height:1.1!important}
body.bc-editorial .hero .by{margin:0 0 22px!important;font-size:21px!important}
body.bc-editorial .hero .facts{margin:0!important;padding:16px 0!important;border-top:1px solid #b69a6740;border-bottom:1px solid #b69a6740;font-size:14px!important;letter-spacing:.025em}
body.bc-editorial .hero .lead{margin:24px 0 28px!important;font-size:19px!important;line-height:1.75!important;max-width:62ch}
body.bc-editorial .hero .actions{display:grid!important;grid-template-columns:1fr 1fr;gap:12px!important;margin-top:auto!important;width:100%;padding-top:12px}
body.bc-editorial .hero .actions .btn{display:flex!important;justify-content:center;align-items:center;min-height:52px;padding:12px 18px!important;border-radius:10px!important;font-size:14px!important;white-space:normal;text-align:center}
body.bc-editorial .hero .free{margin:16px 0 0!important;font-size:12px!important;color:#7c7466!important}
@media(max-width:900px){body.bc-editorial .hero{gap:28px!important}body.bc-editorial .hero .actions{grid-template-columns:1fr}}
@media(max-width:680px){body.bc-editorial .hero>div:nth-child(2){min-height:0;padding-top:0}body.bc-editorial .hero .actions{grid-template-columns:1fr 1fr}body.bc-editorial .hero .lead{font-size:17px!important}body.bc-editorial .hero h1{font-size:36px!important}}

body.bc-editorial .hero>div:nth-child(2){position:relative;box-sizing:border-box;max-width:800px;padding:30px 34px!important;border:1px solid #b59b6638;border-radius:22px;background:radial-gradient(ellipse at top right,#d6e3df85,transparent 65%),linear-gradient(145deg,#fffdf5e8,#f4ebdacf);box-shadow:0 14px 35px #49351d0b;min-height:495px}
body.bc-editorial .hero h1{font-family:Georgia,serif!important;font-size:clamp(40px,4vw,58px)!important;letter-spacing:-.035em!important;color:#183a36;margin-bottom:10px!important}
body.bc-editorial .hero .by{font-size:18px!important;color:#726554;margin-bottom:20px!important}
body.bc-editorial .hero .facts{border:0!important;padding:0!important;display:flex;flex-wrap:wrap;gap:8px;font-size:12px!important}
.preview-tag{padding:6px 10px;background:#fffdf8b3;border:1px solid #b49c6c45;border-radius:6px;color:#67583e}
.preview-kicker{display:flex;align-items:center;gap:10px;margin:0 0 18px;font:600 10px/1.5 system-ui;letter-spacing:.2em;text-transform:uppercase;color:#8a6e3f}
.preview-kicker:before{content:'';width:24px;height:1px;background:#b19055}
body.bc-editorial .hero .lead{font-family:Georgia,serif!important;font-size:19px!important;line-height:1.65!important;margin:22px 0!important;color:#44483e}
body.bc-editorial .hero .actions{display:flex!important;flex-wrap:wrap;gap:8px!important;padding-top:8px!important}
body.bc-editorial .hero .actions #bcRead{flex:1 0 100%;background:#193f39!important;color:#fffaf0!important;border:0!important;min-height:56px;font-size:16px!important;box-shadow:0 7px 16px #15372e25;border-radius:10px!important}
body.bc-editorial .hero .actions #bcDl,body.bc-editorial .hero .actions #bcListen{flex:1;min-height:40px!important;font-size:12px!important;background:transparent!important;color:#29483f!important;border:1px solid #9fafa38c!important;padding:8px!important}
body.bc-editorial .hero .actions #bcPrint{flex:1 0 100%;min-height:38px!important;background:transparent!important;border:0!important;border-top:1px solid #b19b6a40!important;border-radius:0!important;color:#806337!important;padding:12px 0 2px!important;font-size:12px!important}
body.bc-editorial .hero .free{font-size:11px!important;margin-top:10px!important;text-align:center}
@media(max-width:680px){body.bc-editorial .hero>div:nth-child(2){padding:24px!important}body.bc-editorial .hero h1{font-size:40px!important}}

body.bc-editorial .hero .actions #bcPrint{order:-1;display:flex!important;justify-content:space-between!important;gap:16px;min-height:64px!important;padding:14px 22px!important;margin-bottom:6px;border:1px solid #b98631!important;border-radius:12px!important;background:linear-gradient(120deg,#c6923e,#e4bb70 55%,#c59342)!important;color:#30220e!important;box-shadow:0 8px 20px #9b6c292b,inset 0 1px 0 #fff4d499;font-size:16px!important;font-weight:750!important;text-align:left;transition:transform .18s,box-shadow .18s}
body.bc-editorial .hero .actions #bcPrint:hover{transform:translateY(-2px);box-shadow:0 12px 25px #9b6c2940,inset 0 1px 0 #fff4d499}
.preview-buy-copy{display:flex;flex-direction:column;gap:4px}
.preview-buy-sub{font-size:11px;font-weight:500;letter-spacing:.025em;color:#58401d}
.preview-buy-arrow{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#fff8e85e;font-size:22px;flex-shrink:0}
body.bc-editorial .hero .actions #bcRead{min-height:43px!important;background:transparent!important;color:#23473d!important;border:1px solid #9fafa38c!important;box-shadow:none!important;font-size:13px!important}

body.bc-editorial .hero .actions #bcPrint{position:relative;overflow:hidden;min-height:90px!important;padding:18px 20px!important;background:radial-gradient(ellipse at 90% 0%,#43675b,transparent 65%),linear-gradient(120deg,#132f2a,#21473d)!important;color:#fff6e3!important;border:1px solid #b99655!important;box-shadow:0 10px 24px #15372e35,inset 0 1px 0 #f6dfa342;gap:18px;border-radius:14px!important}
.preview-buy-copy{flex:1;gap:5px}
.preview-buy-copy>span:first-child{font-family:Georgia,serif;font-size:23px;font-weight:normal;letter-spacing:.01em}
.preview-buy-sub{color:#d8c9a7!important;font-size:11px!important}
.preview-buy-arrow{width:43px;height:43px;background:linear-gradient(145deg,#f1d59a,#c49748)!important;color:#18382e;border-radius:50%;box-shadow:0 3px 10px #0002}
.preview-book-icon{width:30px;height:43px;display:block;border:1px solid #e8c77e;border-radius:2px 5px 5px 2px;transform:rotate(-9deg);background:linear-gradient(90deg,#b78d4350 4px,transparent 4px);box-shadow:4px 3px 0 -1px #e4d7b7;flex-shrink:0;position:relative}
.preview-book-icon:after{content:'B';position:absolute;inset:9px 0;text-align:center;color:#e8c77e;font:19px Georgia}
body.bc-editorial .hero .actions #bcPrint:hover .preview-book-icon{transform:rotate(0deg) translateY(-2px)}
.preview-book-icon{transition:transform .2s}
@media(max-width:680px){.preview-buy-copy>span:first-child{font-size:20px}.preview-book-icon{width:24px;height:36px}body.bc-editorial .hero .actions #bcPrint{gap:12px;padding:16px!important}.preview-buy-arrow{width:32px;height:32px}}
