.zhw-wrap{max-width:1200px;margin:auto;padding:0 22px}.zhw-space{padding-top:55px;padding-bottom:75px}.zhw-wrap h1,.zhw-wrap h2,.zhw-wrap h3{color:#092c54;line-height:1.18}.zhw-hero{background:linear-gradient(115deg,#08294e 0%,#0a396a 70%,#1d5e93);color:#fff;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;border-radius:0 0 26px 26px;padding:60px clamp(25px,6vw,75px);min-height:520px}.zhw-hero h1{font-size:clamp(48px,5vw,81px);color:white;margin:20px 0 5px;letter-spacing:-.05em;line-height:1.05}.zhw-hero h1 em{font-style:normal;color:#efb842}.zhw-hero p{font-size:19px;max-width:550px}.zhw-hero .zhw-subtitle{font-weight:700}.zhw-eyebrow{font-size:12px;text-transform:uppercase;color:#e0aa35;font-weight:800;letter-spacing:.15em}.zhw-hero img{height:470px;max-width:100%;width:auto;object-fit:contain;justify-self:center;box-shadow:0 30px 55px #0005;border-radius:6px}.zhw-actions{display:flex;align-items:center;gap:25px;margin-top:28px;flex-wrap:wrap}.zhw-btn,.zhw-plan button,.zhw-auth button{display:inline-block;background:#e5b249;color:#142331!important;padding:14px 22px;border:0;border-radius:8px;font-weight:800;text-decoration:none;cursor:pointer;font-size:15px}.zhw-link{color:#fff;font-weight:700;text-decoration:none}.zhw-features{margin:25px 0 60px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.zhw-features>div{text-align:center;background:#f3f7fb;border:1px solid #e2eaf2;border-radius:10px;padding:25px}.zhw-features strong{display:block;font-size:35px;color:#0b3866}.zhw-features span{display:block;font-size:14px;color:#536a7e}.zhw-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;margin:28px 0 60px}.zhw-plan{border:1px solid #dce5ef;border-radius:16px;padding:35px;background:#fff;box-shadow:0 12px 35px #0b2e5010}.zhw-plan-tag{display:inline-block;color:#895d13;background:#fff1d4;padding:5px 12px;font-weight:700;font-size:12px;border-radius:30px}.zhw-plan h3{font-size:27px;margin:18px 0 10px}.zhw-plan p{color:#526477}.zhw-price{display:block;font-size:40px;color:#123960;margin:20px 0 17px}.zhw-price small{font-size:13px;color:#688093;font-weight:500}.zhw-plan label{display:block;font-size:13px;font-weight:700;margin:12px 0}.zhw-plan select,.zhw-auth input{width:100%;display:block;padding:11px 13px;border:1px solid #c8d6e3;border-radius:7px;margin-top:7px;background:#fff;color:#153750}.zhw-plan .zhw-estimate{font-weight:800;color:#173b61}.zhw-plan .zhw-note{font-size:12px;line-height:1.5}.zhw-plan button{width:100%;margin-top:10px;background:#0c416f;color:white!important}.zhw-explain{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px;background:#f2f6fa;border-radius:16px;padding:35px;margin-bottom:65px}.zhw-explain img{width:100%;max-height:310px;object-fit:contain;grid-column:2;grid-row:1/3}.zhw-explain h2,.zhw-explain p{grid-column:1;margin:5px}.zhw-about{display:grid;grid-template-columns:280px 1fr;gap:45px;align-items:start}.zhw-about img{width:100%;border-radius:12px}.zhw-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.zhw-auth,.zhw-owned{border:1px solid #dce5ee;border-radius:14px;padding:30px;margin:18px 0}.zhw-auth label{display:block;font-weight:700;margin:15px 0}.zhw-auth input[type=checkbox]{width:auto;display:inline}.zhw-auth input[type=submit]{background:#0e4977;color:white;padding:13px 22px;border:0;border-radius:8px}.zhw-reader-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:30px;margin:30px 0 80px}.zhw-toc{background:#f4f7fb;border-radius:12px;align-self:start;position:sticky;top:95px;max-height:75vh;overflow:auto;padding:16px}.zhw-toc h3{margin:10px}.zhw-toc a{display:block;font-size:13px;text-decoration:none;padding:11px;border-radius:6px;color:#244963;border-bottom:1px solid #e4ebf1}.zhw-toc a.active{background:#0b3a66;color:#fff}.zhw-reader-content{font-family:Georgia,serif;font-size:17px;line-height:1.9;border:1px solid #e0e7ef;padding:clamp(20px,4vw,58px);border-radius:12px;user-select:none;-webkit-user-select:none}.zhw-reader-content h2,.zhw-reader-content h3,.zhw-reader-content h4{font-family:system-ui,sans-serif}.zhw-reader-content p{margin-bottom:1.15em}.zhw-reader-next{display:flex;justify-content:space-between;border-top:1px solid #e1e8ef;padding-top:20px;margin-top:40px}.zhw-legal{max-width:900px}.zhw-legal h2{margin-top:30px}@media(max-width:800px){.zhw-hero,.zhw-plans,.zhw-explain,.zhw-about,.zhw-auth-grid,.zhw-reader-layout{grid-template-columns:1fr}.zhw-hero{padding:45px 25px}.zhw-hero img{height:360px}.zhw-explain img{grid-column:1;grid-row:auto}.zhw-explain h2,.zhw-explain p{grid-column:1}.zhw-toc{position:static;max-height:230px}.zhw-features{gap:5px}.zhw-features>div{padding:16px 9px}.zhw-features strong{font-size:27px}}

/* v1.0.1: User-supplied actual cover gallery */
.zhw-gallery{padding:12px 0 75px}.zhw-gallery-heading{text-align:center;max-width:720px;margin:0 auto 26px}.zhw-gallery-heading h2{margin:8px 0}.zhw-gallery-heading p{color:#617286}.zhw-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.zhw-gallery-item{margin:0;padding:12px;background:#f7f9fc;border:1px solid #dfe7ef;border-radius:14px;text-align:center;min-width:0}.zhw-gallery-item img{display:block;width:100%;height:290px;object-fit:contain;margin:auto;border-radius:7px}.zhw-gallery-item figcaption{font-size:13px;font-weight:700;margin:10px 0 2px;color:#294862}.zhw-about-book{grid-column:1 / -1;max-width:320px;margin:10px auto}.zhw-about-book img{max-height:430px;object-fit:contain}
@media(max-width:960px){.zhw-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.zhw-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.zhw-gallery-item{padding:8px}.zhw-gallery-item img{height:220px}}

/* V1.0.2 editorial book sales homepage */
.zhw-premium-hero{background:linear-gradient(120deg,#072546 0%,#0a315b 58%,#104b7c 100%);color:white;overflow:hidden}
.zhw-premium-hero-grid{display:grid;grid-template-columns:1fr .91fr;gap:clamp(35px,5vw,75px);align-items:center;min-height:690px;padding-top:65px;padding-bottom:65px}
.zhw-premium-copy h1{font-size:clamp(45px,5.4vw,78px);line-height:1.035;letter-spacing:-.05em;color:white;margin:18px 0}.zhw-premium-copy h1 span{color:#efbc55}.zhw-premium-copy .zhw-hero-mantra{font-weight:750;font-size:clamp(20px,2vw,26px);color:white;margin:20px 0}.zhw-premium-copy .zhw-hero-description{font-size:17px;line-height:1.75;color:#dbe9f4;max-width:540px}.zhw-premium-buttons{display:flex;align-items:center;flex-wrap:wrap;gap:25px;margin:30px 0}.zhw-premium-buttons .zhw-btn{padding:16px 25px}.zhw-hero-secondary{color:#fff;text-decoration:none;font-weight:750;border-bottom:1px solid #ffffff70}.zhw-hero-meta{display:flex;gap:11px 23px;flex-wrap:wrap;margin-top:33px;color:#c6dbe9;font-size:12px;font-weight:650}.zhw-hero-meta span::before{content:'✓';color:#f1b947;margin-right:7px}
.zhw-showcase{position:relative;min-width:0;padding:15px 0}.zhw-slide-track{position:relative;height:570px}.zhw-slide{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .55s ease,transform .55s ease,visibility .55s}.zhw-slide.is-active{opacity:1;visibility:visible;transform:translateY(0)}.zhw-slide img{display:block;max-width:100%;width:auto;max-height:550px;object-fit:contain;border-radius:6px;box-shadow:0 25px 60px #0004}.zhw-slider-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:14px}.zhw-slider-arrow{background:#ffffff17;color:white;border:1px solid #ffffff40;border-radius:50%;width:39px;height:39px;cursor:pointer;font-size:19px}.zhw-slider-arrow:hover{background:#ffffff33}.zhw-slider-dots{display:flex;gap:9px}.zhw-slider-dot{border:0;background:#ffffff6e;width:8px;height:8px;border-radius:20px;cursor:pointer;padding:0;transition:width .2s}.zhw-slider-dot.is-active{background:#f3b63e;width:25px}.zhw-slider-arrow:focus-visible,.zhw-slider-dot:focus-visible{outline:3px solid #ffe28b;outline-offset:4px}
.zhw-premium-body{padding-top:80px;padding-bottom:70px}.zhw-intro-bar{text-align:center;max-width:850px;margin:0 auto 50px}.zhw-intro-bar h2,.zhw-section-head h2,.zhw-story-panel h2,.zhw-final-cta h2{font-size:clamp(30px,3vw,42px);letter-spacing:-.025em;margin:14px 0}.zhw-intro-bar p,.zhw-section-head p{color:#506579;font-size:17px}.zhw-value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px;margin-bottom:95px}.zhw-value-grid article{background:#f5f8fb;border:1px solid #e1eaf0;border-radius:15px;padding:27px}.zhw-value-mark{color:#af7d1c;font-size:14px;font-weight:850}.zhw-value-grid h3{font-size:20px;margin:12px 0}.zhw-value-grid p{color:#516779;font-size:15px;line-height:1.65;margin-bottom:0}.zhw-section-head{text-align:center;max-width:770px;margin:auto}.zhw-purchase-section{scroll-margin-top:110px}.zhw-purchase-section .zhw-plans{max-width:980px;margin:35px auto 90px}.zhw-story-panel{display:grid;grid-template-columns:1fr 210px;gap:45px;align-items:center;background:#eff4f8;border-radius:19px;padding:45px clamp(22px,5vw,65px);margin:10px 0 75px}.zhw-story-panel p{color:#526477}.zhw-story-panel a{font-weight:800;text-decoration:none}.zhw-story-panel img{width:210px;max-width:100%;border-radius:14px;aspect-ratio:1;object-fit:cover}.zhw-final-cta{border-radius:20px;background:#0b315a;color:white;text-align:center;padding:48px 22px}.zhw-final-cta h2{color:white}.zhw-final-cta p{color:#d7e4ef;margin:0 0 27px}
@media(max-width:880px){.zhw-premium-hero-grid{grid-template-columns:1fr;gap:12px;padding-top:48px;padding-bottom:44px}.zhw-premium-copy{text-align:center}.zhw-premium-copy .zhw-hero-description{margin-left:auto;margin-right:auto}.zhw-premium-buttons,.zhw-hero-meta{justify-content:center}.zhw-slide-track{height:460px}.zhw-slide img{max-height:440px}.zhw-value-grid{grid-template-columns:1fr}}
@media(max-width:620px){.zhw-slide-track{height:390px}.zhw-slide img{max-height:375px}.zhw-premium-body{padding-top:55px}.zhw-story-panel{grid-template-columns:1fr;text-align:center;gap:20px}.zhw-story-panel img{margin:auto;grid-row:1}.zhw-value-grid{margin-bottom:65px}}
@media(prefers-reduced-motion:reduce){.zhw-slide{transition:none}}

/* v1.0.5 Customer-only sign-in UX */
.zhw-customer-auth{background:#f7fafc;border-color:#d8e5f1;box-shadow:0 10px 40px #12345410}.zhw-customer-auth h2{margin-top:8px}.zhw-customer-auth label{font-size:14px;color:#183954}.zhw-customer-auth input{min-height:46px}.zhw-auth-alert,.zhw-auth-success{padding:12px 14px;border-radius:8px;margin:15px 0;font-weight:650}.zhw-auth-alert{background:#fff1f1;color:#962d2d}.zhw-auth-success{background:#ecf8f1;color:#176b3e}.zhw-customer-auth button{width:100%;margin-top:10px}.zhw-customer-auth .zhw-remember{display:flex;gap:8px;align-items:center}.zhw-customer-auth .zhw-remember input{width:auto;min-height:0;margin:0}@media(max-width:700px){.zhw-auth,.zhw-owned{padding:22px 18px}.zhw-auth-grid{gap:10px}}

/* v1.0.8: distinct buyer registration and reader login, responsive password visibility */
.zhw-auth-single{max-width:650px!important;margin-inline:auto}.zhw-auth-single>.zhw-auth{margin-top:24px}
.zhw-auth-links{font-size:15px;text-align:center;margin:14px 0 26px}.zhw-auth-links a{font-weight:750;color:#0b457a}
.zhw-password-wrap{display:block;position:relative;margin-top:7px}
.zhw-password-wrap input{padding-right:88px!important;margin-top:0!important;box-sizing:border-box}
.zhw-auth .zhw-password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:auto!important;min-height:36px;margin:0!important;padding:6px 12px!important;border:1px solid #bdcfe1!important;background:#fff!important;color:#123b61!important;font-weight:700;font-size:13px;border-radius:6px;cursor:pointer}
.zhw-password-toggle:focus-visible{outline:3px solid #e7b33d;outline-offset:2px}
@media(max-width:640px){.zhw-auth-single{padding-top:25px;padding-bottom:45px}.zhw-auth-single>.zhw-auth{padding:20px 16px}}

/* v1.0.11 — balanced customer forms: wider than one third, under half of main content width */
@media (min-width: 901px) {
  .zhw-wrap.zhw-auth-single {width: min(100% - 40px, 500px) !important;max-width: 500px !important;padding-left: 0;padding-right: 0;margin-left:auto;margin-right:auto;}
}
@media (min-width: 641px) and (max-width: 900px) {
  .zhw-wrap.zhw-auth-single {max-width: 500px !important;width: calc(100% - 40px);padding-left: 0;padding-right: 0;margin-inline: auto;}
}
@media (max-width: 640px) {
  .zhw-wrap.zhw-auth-single {width:100%;max-width: 100% !important;box-sizing:border-box;padding-left: 18px;padding-right:18px;margin-inline:auto;}
}
.zhw-auth-single > h1,.zhw-auth-single > p {text-align:center;}
.zhw-auth-single .zhw-auth {width:100%;max-width:100%;box-sizing:border-box;padding:clamp(20px,3vw,28px);margin:18px 0;}
.zhw-auth-single .zhw-auth form,.zhw-auth-single .zhw-auth label {min-width:0;max-width:100%;}
.zhw-auth-single .zhw-auth input:not([type=checkbox]) {width:100%;max-width:100%;min-width:0;box-sizing:border-box;}
.zhw-auth-single .zhw-auth button[type=submit] {width:100%;min-height:44px;}
.zhw-auth-single .zhw-password-toggle {width:auto!important;}

/* Legal pages and required buyer consent */
.zhw-legal-document{line-height:1.75;color:#263f56;font-size:16px}.zhw-legal-document .zhw-legal-heading{border-bottom:1px solid #dbe6ef;padding-bottom:18px;margin-bottom:26px}.zhw-legal-document .zhw-legal-updated{font-size:14px;color:#607489}.zhw-legal-document h2{font-size:23px;margin:33px 0 10px}.zhw-legal-document p{margin:0 0 16px}.zhw-legal-document a{color:#125890;text-decoration:underline;text-underline-offset:3px}.zhw-legal-contact{background:#f3f7fb;border-radius:12px;padding:20px 25px;margin-top:38px}.zhw-legal-contact h2{margin-top:0}.zhw-auth .zhw-legal-consent{display:flex;gap:12px;align-items:flex-start;font-size:13px;font-weight:500;line-height:1.55;color:#274158}.zhw-auth .zhw-legal-consent input[type=checkbox]{width:18px;min-width:18px;height:18px;margin:2px 0 0;accent-color:#0b4778}.zhw-auth .zhw-legal-consent a{color:#0a477d;font-weight:700;text-decoration:underline}.zhw-auth .zhw-legal-consent span{min-width:0}

/* Version 1.0.29: Preserve the original PDF page design in the online reader */
.zhw-pdf-reader{width:100%;max-width:1100px;margin:20px auto 10px;border:1px solid #dce5ed;border-radius:14px;overflow:hidden;background:#f1f5f9;box-shadow:0 12px 35px rgba(9,35,63,.08)}
.zhw-pdf-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#0b2b4c;color:#fff;padding:14px 18px}
.zhw-pdf-toolbar strong{display:block;font-size:16px}.zhw-pdf-toolbar span{font-size:12px;color:#e1eaf4}
.zhw-pdf-open{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:10px 14px;background:#e6b756;color:#092747!important;text-decoration:none!important;font-weight:750;font-size:14px;white-space:nowrap;min-height:42px}
.zhw-pdf-open:focus-visible{outline:3px solid #fff;outline-offset:2px}
.zhw-pdf-frame{display:block;width:100%;height:min(82vh,1000px);min-height:560px;border:0;background:#f8fafc}
.zhw-pdf-note{margin:0!important;padding:10px 18px;font-size:13px;color:#48627b}
@media(max-width:640px){.zhw-pdf-reader{border-radius:9px}.zhw-pdf-toolbar{flex-wrap:wrap;padding:12px}.zhw-pdf-open{width:100%;white-space:normal}.zhw-pdf-frame{height:72vh;min-height:420px}.zhw-pdf-note{padding:10px 12px}}

/* Version 1.0.31: compact PDF page and zoom controls (existing reader layout retained). */
.zhw-pdf-controls{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px}
.zhw-pdf-controls button{appearance:none;display:inline-flex;align-items:center;justify-content:center;background:#e6b756;color:#092747;border:0;border-radius:7px;padding:8px 12px;min-height:38px;min-width:38px;font-size:13px;line-height:1.2;font-weight:750;cursor:pointer}
.zhw-pdf-controls button:hover:not(:disabled){background:#f5cf70}
.zhw-pdf-controls button:focus-visible{outline:3px solid #fff;outline-offset:2px}
.zhw-pdf-controls button:disabled{opacity:.45;cursor:not-allowed}
.zhw-pdf-controls .zhw-pdf-page,.zhw-pdf-controls .zhw-pdf-zoom{font-size:13px;color:#fff;font-weight:650;min-width:60px;text-align:center}
@media(max-width:640px){.zhw-pdf-toolbar{align-items:flex-start}.zhw-pdf-controls{width:100%;justify-content:center}.zhw-pdf-controls button{padding:9px 10px}}

/* Real PDF page renderer: preserve the existing toolbar positions and colours. */
.zhw-pdf-stage{overflow:auto;overscroll-behavior:contain;text-align:center;padding:15px;background:#e9eef3}
.zhw-pdf-stage-inner{display:table;margin:0 auto;min-height:1px}
.zhw-pdf-stage canvas{display:block;background:#fff;box-shadow:0 2px 14px rgba(5,24,45,.13);max-width:none}
.zhw-pdf-status{margin:8px 0;color:#344c63;font-size:14px}
@media(max-width:640px){.zhw-pdf-stage{padding:10px}}

/* v1.0.33: mobile readability and PDF reader controls only; desktop styles unchanged. */
@media (max-width: 640px) {
  .zhw-wrap{padding-left:16px;padding-right:16px}
  .zhw-premium-hero-grid{padding-top:36px;padding-bottom:36px;min-height:0}
  .zhw-premium-copy h1{font-size:clamp(34px,9vw,48px);line-height:1.08;overflow-wrap:break-word}
  .zhw-premium-copy .zhw-hero-description{font-size:16px;line-height:1.6}
  .zhw-premium-buttons{gap:14px}
  .zhw-slide-track{height:clamp(260px,80vw,390px)}
  .zhw-slide img{max-height:100%;max-width:100%}
  .zhw-features{grid-template-columns:repeat(3,minmax(0,1fr))}
  .zhw-plan{padding:clamp(18px,5vw,26px)}
  .zhw-plan h3{font-size:clamp(22px,6vw,27px)}
  .zhw-auth-single .zhw-auth input:not([type=checkbox]),.zhw-plan select{font-size:16px}
  .zhw-pdf-reader{min-width:0;max-width:100%}
  .zhw-pdf-toolbar{display:block;padding:12px 10px}
  .zhw-pdf-toolbar>strong{display:block;text-align:center;margin-bottom:10px;line-height:1.4}
  .zhw-pdf-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(76px,auto) minmax(0,1fr);gap:8px;width:100%;align-items:center}
  .zhw-pdf-controls button{min-height:44px;min-width:0;width:100%;padding:9px 8px;touch-action:manipulation}
  .zhw-pdf-controls .zhw-pdf-page,.zhw-pdf-controls .zhw-pdf-zoom{min-width:0;font-size:12px;white-space:nowrap}
  .zhw-pdf-stage{padding:8px;max-width:100%;-webkit-overflow-scrolling:touch}
  .zhw-pdf-frame{height:auto;min-height:0}
}
@media (max-width: 380px) {
  .zhw-premium-copy h1{font-size:32px}
  .zhw-pdf-controls{gap:5px;grid-template-columns:minmax(0,1fr) minmax(66px,auto) minmax(0,1fr)}
  .zhw-pdf-controls button{font-size:12px;padding:8px 5px}
  .zhw-plan{padding:18px}
}

/* v1.0.34: touch/mouse panning within the rendered PDF; site layout unchanged. */
.zhw-pdf-stage{
  height:min(78vh,900px);
  max-height:78vh;
  overflow:auto;
  touch-action:none;
  cursor:grab;
  -webkit-user-select:none;
  user-select:none;
  -webkit-overflow-scrolling:auto;
}
.zhw-pdf-stage.zhw-pdf-dragging{cursor:grabbing}
.zhw-pdf-stage-inner{width:max-content;max-width:none;min-width:0}
@media(max-width:640px){
  .zhw-pdf-stage{height:70vh;height:70dvh;max-height:70vh;max-height:70dvh;min-height:340px}
}

/* v1.0.36: distraction-free PDF reading, portrait and landscape.
   Scoped to authenticated, successfully loaded reader; other pages unchanged. */
body.zhw-pdf-reading .site-footer{display:none!important}
body.zhw-pdf-reading .zhw-reader-screen>h1,
body.zhw-pdf-reading .zhw-reader-screen>p,
body.zhw-pdf-reading .zhw-reader-screen>.zhw-owned{display:none!important}
body.zhw-pdf-reading .zhw-reader-screen{
  width:100%;max-width:none;padding:0 10px 8px;margin:0 auto;
}
body.zhw-pdf-reading .zhw-reader-screen .zhw-pdf-reader{
  max-width:none;width:100%;margin:0;border-radius:0;
}
body.zhw-pdf-reading .site-main{min-height:0}
body.zhw-pdf-reading .zhw-reader-screen .zhw-pdf-toolbar{
  position:sticky;top:var(--zhw-reader-header-height, 0px);z-index:4;
}
body.zhw-pdf-reading .zhw-reader-screen .zhw-pdf-toolbar>strong{display:none}
body.zhw-pdf-reading .zhw-reader-screen .zhw-pdf-controls{width:100%;justify-content:center}
body.zhw-pdf-reading .zhw-reader-screen .zhw-pdf-stage{
  height:calc(100vh - var(--zhw-reader-header-height, 80px) - var(--zhw-reader-toolbar-height, 56px) - 12px);
  height:calc(100dvh - var(--zhw-reader-header-height, 80px) - var(--zhw-reader-toolbar-height, 56px) - 12px);
  min-height:220px;max-height:none;
}
@media (orientation:landscape) and (max-height:650px){
  body.zhw-pdf-reading .zhw-reader-screen{padding:0 5px 5px}
  body.zhw-pdf-reading .zhw-reader-screen .zhw-pdf-toolbar{padding:5px 8px}
  body.zhw-pdf-reading .zhw-reader-screen .zhw-pdf-controls{display:flex;justify-content:center;flex-wrap:wrap;gap:5px}
  body.zhw-pdf-reading .zhw-reader-screen .zhw-pdf-controls button{
    min-height:32px;width:auto;min-width:38px;padding:5px 12px;
  }
  body.zhw-pdf-reading .zhw-reader-screen .zhw-pdf-stage{min-height:150px;padding:5px}
}


/* v1.0.37: Reserve real space below the controls on every viewport.
   The controls remain in their existing order and visual style. */
body.zhw-pdf-reading .zhw-reader-screen .zhw-pdf-reader{
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
body.zhw-pdf-reading .zhw-reader-screen .zhw-pdf-toolbar{
  position:relative;
  top:auto;
  flex:0 0 auto;
  z-index:2;
}
body.zhw-pdf-reading .zhw-reader-screen .zhw-pdf-stage{
  position:relative;
  flex:0 0 auto;
  min-height:150px;
  margin:0;
  overflow:auto;
  /* Height is measured below the toolbar by the reader script. */
}
body.zhw-pdf-reading .zhw-reader-screen .zhw-pdf-stage-inner{
  position:relative;
}

/* Contact page (v1.0.40) — uses the existing bookshop typography and palette. */
.zhw-contact-page{max-width:900px;color:#263f56;line-height:1.7}
.zhw-contact-heading{padding-bottom:22px;border-bottom:1px solid #dbe6ef;margin-bottom:28px}
.zhw-contact-heading h1{font-size:clamp(32px,4vw,46px);margin:14px 0}
.zhw-contact-heading p{max-width:720px;color:#4d6174;font-size:17px}
.zhw-contact-card{background:#f3f7fb;border:1px solid #dce5ee;border-radius:16px;padding:clamp(24px,4vw,40px);margin:22px 0 36px}
.zhw-contact-label{font-size:12px;font-weight:800;letter-spacing:.12em;color:#9a6718}
.zhw-contact-card h2{font-size:clamp(21px,3vw,30px);margin:10px 0;overflow-wrap:anywhere}
.zhw-contact-card h2 a,.zhw-contact-details a,.zhw-contact-legal a{color:#125890;text-decoration:underline;text-underline-offset:3px}
.zhw-contact-email-btn{display:inline-block;background:#0c416f;color:#fff!important;text-decoration:none;padding:12px 22px;border-radius:8px;font-weight:700;margin-top:12px}
.zhw-contact-email-btn:hover,.zhw-contact-email-btn:focus{background:#092c54}
.zhw-contact-details,.zhw-contact-legal{margin:28px 0}
.zhw-contact-details h2,.zhw-contact-legal h2{font-size:23px}
@media(max-width:540px){.zhw-contact-heading p{font-size:16px}.zhw-contact-card{padding:23px 19px}.zhw-contact-page{padding-bottom:50px}}
