/* The book (/book/, /es/book/); shared colors, navigation, buttons and type come from the home layout.
   The cover is the one light object on the dark canvas: the book's own paper. The form posts to
   /api/v1/pub/book_requests from assets/js/book.js (docs/book.md). */
.book-page h1, .book-page h2 { font-weight:500; letter-spacing:-.045em; line-height:1.08; }
.book-page h1 { font-size:clamp(40px,4.4vw,62px); margin:0 0 16px; text-wrap:balance; }
.book-page h2 { font-size:clamp(32px,3.6vw,48px); margin:0 0 28px; }
.book-page p { line-height:1.75; }
.book-page p a { text-decoration:underline; text-underline-offset:4px; }

/* Hero: the cover, beside the title and the form, so the form is in the first screen */
.bk-hero { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); align-items:start; gap:72px; padding-block:56px 88px; }
.bk-sub { font-size:20px; line-height:1.5!important; color:#d0cbb3; max-width:560px; margin:0 0 14px; }
.bk-byline { font:12px/1.7 var(--font-mono); letter-spacing:.12em; text-transform:uppercase; color:#8f9185; margin:0 0 28px; }

.bk-cover { margin:12px 0 0; justify-self:center; perspective:1400px; }
.bk-cover-book { position:relative; display:block; width:min(380px,100%); margin-inline:auto; transform:rotateY(7deg); transform-origin:right center; }
.bk-cover-book img { display:block; width:100%; height:auto; border-radius:3px 7px 7px 3px; box-shadow:0 30px 80px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.06),0 0 120px rgba(232,181,60,.12); }
.bk-cover-book::after { content:""; position:absolute; inset:0 auto 0 0; width:16px; border-radius:3px 0 0 3px; background:linear-gradient(90deg,rgba(0,0,0,.22),rgba(0,0,0,0)); }
.bk-cover figcaption { text-align:center; color:#8f9185; font-size:13px; line-height:1.7; margin-top:22px; }
/* The hardcover: a second, quieter call beside the free PDF. Colors are !important against
   home.css's .rail-home main a, which inherits the parent's. */
.bk-hardcover { display:inline-flex; align-items:center; gap:9px; min-height:44px; padding:10px 18px; border:1px solid var(--bitcoin-orange-dark); border-radius:6px; color:var(--text)!important; font-size:14px; font-weight:500; text-decoration:none; transition:border-color var(--t-base),color var(--t-base); }
.bk-hardcover:hover { border-color:var(--bitcoin-orange); color:var(--bitcoin-orange)!important; }
.bk-hardcover i { color:var(--bitcoin-orange); }

/* The form */
.bk-form-card { max-width:560px; padding:28px; border:1px solid #454237; border-radius:18px; background:var(--surface); box-shadow:0 24px 80px rgba(232,181,60,.07); color-scheme:dark; scroll-margin-top:96px; }
.book-page .bk-form-card h2 { font-size:22px; letter-spacing:-.02em; margin:0 0 6px; }
.bk-form-note { color:#a8aa9f; font-size:15px; margin:0 0 20px; }
.bk-form-note strong { color:var(--text); font-weight:600; }
.bk-fields { display:grid; grid-template-columns:1fr 1fr; column-gap:14px; }
.bk-field { display:flex; flex-direction:column; gap:7px; margin-bottom:16px; }
.bk-field label { font:11px/1.6 var(--font-mono); letter-spacing:.1em; text-transform:uppercase; color:#babbb4; }
.bk-field label small { font:inherit; text-transform:none; letter-spacing:.02em; color:#8f9185; }
.bk-input { width:100%; min-height:48px; padding:11px 14px; background:var(--ink); color:var(--text); border:1px solid #3b3b34; border-radius:8px; font-family:inherit; font-size:16px; line-height:1.4; transition:border-color var(--t-base),box-shadow var(--t-base); }
.bk-input::placeholder { color:#6f7167; }
.bk-input:focus { outline:none; border-color:var(--bitcoin-orange); box-shadow:0 0 0 3px rgba(232,181,60,.15); }
.rail-home .bk-input:focus-visible { outline:none; }
select.bk-input { cursor:pointer; }
.bk-check { display:flex; gap:12px; align-items:flex-start; font-size:14px; line-height:1.6; color:#babbb4; margin:2px 0 22px; cursor:pointer; }
.bk-check input { width:18px; height:18px; margin:2px 0 0; flex-shrink:0; accent-color:var(--bitcoin-orange); cursor:pointer; }
/* Hidden from people; a bot that fills every field fills this one too (BookRequestsController). */
.bk-hp { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.bk-form-card .rail-button { width:100%; border:0; cursor:pointer; font-family:inherit; }
.bk-form-card .rail-button[disabled] { opacity:.75; cursor:progress; transform:none; box-shadow:none; }
.bk-fine { font-size:13px; line-height:1.7!important; color:#8f9185; margin:14px 0 0; }
.book-page .bk-fine a { color:#aaa99f; }
.bk-error { margin:14px 0 0; padding:10px 14px; border-radius:8px; background:rgba(247,147,26,.08); border:1px solid rgba(247,147,26,.3); color:#f0c14d; font-size:14px; line-height:1.6!important; }
.bk-sent { text-align:center; padding:8px 4px 4px; }
.bk-sent:focus { outline:none; }
.bk-sent > i { display:block; font-size:40px; line-height:1; color:var(--bitcoin-orange); margin-bottom:14px; }
.bk-sent p { color:#babbb4; font-size:15px; margin:0 0 10px; overflow-wrap:anywhere; }
.bk-sent p strong { color:var(--text); font-weight:500; }
.bk-sent .bk-fine { margin-top:16px; }
.bk-link-button { display:inline; padding:0; border:0; background:none; font:inherit; color:#aaa99f; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.bk-link-button:hover { color:var(--bitcoin-orange); }

/* The back cover, in its own words: the hook beside the copy, its last lines leading to the form */
.bk-section { padding-block:88px; border-top:1px solid #1e1f1a; }
.bk-blurb-grid { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:72px; align-items:start; }
.bk-blurb-text { max-width:640px; }
.bk-blurb-text p { color:#c5c7bb; font-size:18px; margin:0 0 20px; }
.book-page .bk-blurb-text .bk-blurb-end { color:var(--text); font-size:21px; line-height:1.6; margin:32px 0 30px; padding-left:20px; border-left:2px solid var(--bitcoin-orange); }

/* Published by SatsRail */
.bk-rail { text-align:center; background:radial-gradient(ellipse 60% 70% at 50% 100%,rgba(232,181,60,.1),transparent 70%); }
.bk-rail .rail-eyebrow, .bk-rail .rail-actions { justify-content:center; }
.bk-rail-copy { color:#babbb4; font-size:17px; max-width:640px; margin:0 auto 32px; }

@media(max-width:991px) {
  .bk-hero { grid-template-columns:1fr; gap:32px; padding-block:40px 64px; }
  .bk-cover { margin:0; }
  .bk-cover-book { width:200px; transform:none; }
  .bk-cover figcaption { margin-top:14px; }
  .bk-blurb-grid { grid-template-columns:1fr; gap:8px; }
}
@media(max-width:700px) {
  .bk-blurb-text p { font-size:16px; }
  .bk-hero { gap:24px; padding-top:28px; }
  .bk-cover-book { width:120px; }
  .bk-sub { font-size:17px; }
  .bk-byline { margin-bottom:22px; }
  .bk-form-card { padding:22px 18px; }
  .bk-fields { grid-template-columns:1fr; }
  .bk-section { padding-block:56px; }
  .book-page .bk-blurb-text .bk-blurb-end { font-size:18px; padding-left:16px; }
}
