/* Shared geometry for the catalogue, reader shelf and account pages. */
.library-page>header,.library-page>main{width:100%;max-width:1160px;margin:0 auto;padding-left:44px;padding-right:44px}
.library-page>header{min-height:100px;padding-top:20px;padding-bottom:20px;position:relative}
.library-page>header::after{content:"";position:absolute;bottom:0;left:44px;right:44px;border-bottom:1px solid var(--line)}
.library-page>header .brand{font:600 23px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;letter-spacing:-.7px}
.library-page>header .brand span{font-size:12px;font-weight:400;letter-spacing:1px}
.library-page>main{padding-top:30px;padding-bottom:0}
.site-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 24px;border-top:1px solid var(--line);padding:25px 0 32px;margin:50px auto 0;width:calc(100% - 88px);max-width:1072px;color:var(--muted);font-size:12px;line-height:1.55}
.container>.site-footer{width:100%}
.site-footer nav{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px}
.site-footer a{display:inline-block;color:inherit;text-decoration:none;white-space:nowrap}
.site-footer a:hover{color:var(--green);text-decoration:underline}
.footer-formats{font-size:11px;letter-spacing:.5px}
@media(max-width:950px){.library-page>header,.library-page>main{padding-left:30px;padding-right:30px}.library-page>header::after{left:30px;right:30px}.site-footer{width:calc(100% - 60px)}}
@media(max-width:760px){.library-page>header{min-height:0;padding-top:22px;padding-bottom:16px;flex-wrap:wrap;gap:13px}.site-footer{margin-top:38px}.footer-formats{display:none}}
@media(max-width:480px){.library-page>header,.library-page>main{padding-left:20px;padding-right:20px}.library-page>header::after{left:20px;right:20px}.library-page>header .brand{font-size:20px}.site-footer{width:calc(100% - 40px);flex-direction:column;justify-content:center;text-align:center;gap:15px;padding-bottom:25px}.site-footer nav{justify-content:center;gap:12px 16px;font-size:11px}}
@media print{.site-footer{display:none!important}}
/* One navigation layout on catalogue and service pages. Counts are independent rows. */
.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:100px;border-bottom:1px solid var(--line);font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.site-header .brand{display:flex;align-items:center;gap:13px;font:600 23px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;letter-spacing:-.7px;white-space:nowrap;text-decoration:none;color:var(--ink)}
.site-header .brand>i{font-size:26px;color:var(--green)}
.site-header .brand span,.library-page>.site-header .brand span{display:inline;font:inherit;margin:0;color:inherit;letter-spacing:inherit}
.site-header .brand small{font-size:12px;font-weight:400;letter-spacing:1px;color:var(--muted);margin-left:8px}
.site-header .primary-nav{display:flex;align-items:stretch;gap:6px;flex-wrap:wrap;min-width:0;margin:0}
.site-header .primary-nav>a{display:flex;flex-direction:column;align-items:flex-start;gap:5px;justify-content:flex-start;min-width:64px;min-height:62px;white-space:nowrap;font-size:13px;font-weight:500;line-height:1.3;color:var(--muted);text-decoration:none;padding:10px 11px 8px;border:1px solid transparent;border-bottom-width:3px;border-radius:8px;margin:0;transition:background .15s,color .15s}
.site-header .primary-nav>a:hover{color:var(--green);background:var(--wash,#edf0e5)}
.site-header .primary-nav>a[aria-current=page]{color:var(--green);background:var(--wash,#edf0e5);border-bottom-color:var(--green);font-weight:700}
.site-header .primary-nav>a:focus-visible{outline:3px solid var(--green);outline-offset:2px}
.site-header .nav-count{display:block;min-height:1.3em;margin:0;color:var(--muted);font-size:11px;font-weight:400;line-height:1.3;font-variant-numeric:tabular-nums;letter-spacing:.01em}
.site-header .header-actions{display:flex;align-items:center;gap:8px;margin:0;flex-shrink:0}
.site-header .account-link{display:inline-flex;align-items:center;justify-content:center;min-height:36px;gap:6px;font-size:13px;line-height:1.2;white-space:nowrap;color:var(--green);text-decoration:none}
.site-header .icon-button{background:transparent;border:1px solid var(--line);border-radius:50%;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px;padding:0;text-decoration:none;flex-shrink:0;cursor:pointer}
.site-header .icon-button:hover{background:var(--wash,#edf0e5);color:var(--green)}
.site-theme-button{visibility:hidden}html[data-shelf-theme] .site-theme-button{visibility:visible}
.library-page>.site-header{border-bottom:0;padding-top:0;padding-bottom:0}
:root[data-shelf-theme=dark]{color-scheme:dark;--paper:#1b211d;--surface:#242d26;--ink:#e5ece3;--muted:#adbcae;--line:#3b483d;--green:#acd9b4;--on-green:#193322;--wash:#2d3c30}
html[data-shelf-theme=dark] .library-page .panel{background:var(--surface)}
html[data-shelf-theme=dark] .library-page input,html[data-shelf-theme=dark] .library-page select{background:var(--paper);color:var(--ink)}
@media(max-width:1100px){.site-header{flex-wrap:wrap;gap:12px 20px;padding-top:20px;padding-bottom:12px}.library-page>.site-header{padding-top:20px;padding-bottom:12px}.site-header .primary-nav{order:3;width:100%;justify-content:flex-start}.site-header .header-actions{margin-left:auto}}
@media(max-width:760px){.site-header{padding-top:22px;padding-bottom:16px}.site-header .primary-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.site-header .brand{font-size:20px}.site-header .brand small{display:inline}.site-header .primary-nav>a{min-width:0;min-height:62px;padding:10px 12px 8px}.site-header .header-actions{gap:6px}}
@media(max-width:480px){.site-header{gap:12px}.site-header .primary-nav{column-gap:6px}.site-header .brand,.library-page>.site-header .brand{font-size:18px;gap:8px}.site-header .brand>i{font-size:21px}.site-header .brand small{font-size:10px;margin-left:4px}.site-header .account-link{font-size:12px;max-width:92px;overflow:hidden;text-overflow:ellipsis}.site-header .icon-button{width:32px;height:32px}.site-header .header-actions{margin-left:0}.site-header .brand{margin-right:auto}}
@media(pointer:coarse){.site-header .icon-button{width:44px;height:44px}.site-header .account-link{min-height:44px}}
