:root { --shop-accent:#996f00; }
body { min-height:100vh; min-height:100dvh; display:flex; flex-direction:column; padding-top:46px; }
#body-wrapper { flex:1 0 auto; }
.body-content { min-height:0; }
header .toprow { position:fixed; top:0; left:0; right:0; height:46px; background:#202020; z-index:1000; }
header .toprow .container { height:100%; padding:5px 2rem; align-items:center; }
header .toprow .container a, header .toprow .container a:hover, header .toprow .container a:active, header .toprow .container a:visited { color:white; }
header .toprow .container .badge { background:#cc9900; color:black; }
header .payment-icons { margin-right:auto; }
header .logo-menu-row { padding-top:1.5rem; }
header .logo-menu-row .container .logo { width:200px; flex-shrink:0; }
header .logo-menu-row .logo img { max-width:239px; }
header .logo-menu-row .container { gap:1rem; }
header .menu ul { display:flex; flex-wrap:wrap; gap:.5rem 1rem; list-style:none; padding:0; margin:0; }
header .menu a { white-space:nowrap; }
header .logo-menu-row .menu-toggle { width:auto; }
footer { flex-shrink:0; }
footer .payment-icons { height:auto; min-height:32px; margin-bottom:1rem; }
footer a, footer a:hover, footer a:focus-visible, footer a:active, footer a:visited { color:black; }
footer .btn-shop-outline { color:black; border-color:black; margin-top:1rem; }
footer .btn-shop-outline:hover, footer .btn-shop-outline:focus-visible { color:white; background:black; }
.booklist .booklistrow .book .img img { width:100%; height:100%; object-fit:cover; object-position:center top; }
.body-content:has(.catalog-search input:is([value=''], :not([value]))) .booklist-title { display:none; }
.book-page .format .text { overflow-wrap:anywhere; }
html { scroll-padding-top:46px; }
@media(max-width:991px) {
    header .toprow .container { padding-right:1rem; padding-left:1rem; }
    header .logo-menu-row .container { flex-wrap:wrap; }
    header .logo-menu-row .container .logo { width:70%; }
    header .menu.mobile-open { display:block; width:100%; padding:1rem 0; }
    header .menu.mobile-open ul { flex-direction:column; }
    header .menu.mobile-open a { display:block; padding:.6rem; color:black; }
}
footer .logo img { max-width:239px; width:100%; }
footer .container p { margin:1rem 0; }
.open-access-chapters { margin:2rem 0; background:#cc9900; border-radius:8px; padding:2rem; scroll-margin-top:62px; }
.open-access-chapters h3 { margin-bottom:1rem; }
.open-access-chapters h5 { font-size:1.2rem; }
.open-access-chapters .open-access-download { color:white; display:inline-block; margin-left:2rem; border:0; background:none; padding:0; font:inherit; text-decoration:none; cursor:pointer; }
.open-access-chapters .open-access-download .bi { margin-right:.5rem; }
.open-access-chapters .open-access-download:hover, .open-access-chapters .open-access-download:focus-visible { color:#202020; text-decoration:underline; }
