/* Isolated brochure reader: every selector is scoped. No WordPress styles are loaded. */
.zb-brochure-page { margin:0; background:#f3f5f0; color:#263b2d; font-family:system-ui,sans-serif; }
.zb-reader, .zb-reader * { box-sizing:border-box; }
.zb-reader { max-width:1160px; margin:auto; padding:24px; line-height:1.5; }
.zb-reader [hidden] { display:none !important; }
.zb-reader h1 { font-size:clamp(1.6rem,4vw,2.4rem); line-height:1.15; }
.zb-reader button,.zb-reader select,.zb-reader__download { font:inherit; min-height:48px; border:1px solid #68816b; border-radius:6px; padding:9px 14px; background:#fff; color:#234b2d; }
.zb-reader button { cursor:pointer; }
.zb-reader button:disabled { opacity:.45; cursor:default; }
.zb-reader button:hover:not(:disabled) { background:#e6efdf; }
.zb-reader #open { background:#35623b; color:white; }
.zb-reader a { color:#254f30; text-underline-offset:3px; }
.zb-reader__download { display:inline-flex; align-items:center; }
.zb-reader :focus-visible { outline:3px solid #935800; outline-offset:3px; }
.zb-reader__actions,.zb-reader__tools { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.zb-reader__tools { margin:12px 0; }
.zb-reader__tools label { display:inline-flex; align-items:center; gap:8px; min-height:44px; }
.zb-reader input[type=checkbox] { width:22px; height:22px; accent-color:#35623b; }
.zb-reader__navigation { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:8px; align-items:center; }
.zb-reader #page-status { text-align:center; font-weight:650; }
.zb-reader__viewer { margin-top:24px; }
.zb-reader__message { min-height:1.5em; margin:8px 0; }
.zb-reader__stage { width:100%; height:640px; height:clamp(300px,68dvh,850px); background:#dce3d8; border-radius:8px; overflow:auto; overscroll-behavior:contain; touch-action:pan-x pan-y pinch-zoom; padding:12px; position:relative; }
.zb-reader__surface { position:relative; margin:0 auto; flex-shrink:0; }
.zb-reader__spread { display:flex; justify-content:center; align-items:flex-start; gap:0; }
.zb-reader__sheet { background:#fff; overflow:hidden; position:relative; box-shadow:0 2px 10px #20362522; }
.zb-reader__sheet img { display:block; width:100%; height:100%; object-fit:contain; }
.zb-reader__page-label { position:absolute; inset:45% 0 auto; text-align:center; color:#345; }
.zb-reader__sheet:has(img) .zb-reader__page-label { display:none; }
.zb-reader__surface.is-flip .zb-reader__sheet { border:1px solid #e9e9e9; }
.zb-reader__viewer.is-large { position:fixed; inset:0; z-index:10000; background:#f3f5f0; padding:12px; margin:0; overflow:auto; }
.zb-reader__viewer.is-large .zb-reader__stage,.zb-reader__viewer:fullscreen .zb-reader__stage { height:calc(100dvh - 260px); min-height:240px; }
.zb-reader__viewer:fullscreen { background:#f3f5f0; padding:16px; overflow:auto; }
.zb-reader #help { font-size:.875rem; }
@media(max-width:600px) { .zb-reader { padding:12px; } .zb-reader__stage { padding:6px; } .zb-reader__navigation button { padding:8px 10px; } .zb-reader__tools { gap:8px; } .zb-reader #page-status { font-size:.9rem; } .zb-reader__viewer.is-large .zb-reader__stage { height:calc(100dvh - 340px); } }
@media(prefers-reduced-motion:reduce) { .zb-reader *, .zb-reader *::before,.zb-reader *::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; } }
