/* Retain the original grey background, logo, cover artwork and typography. */
html { box-sizing: border-box; }
*, *::before, *::after { box-sizing: inherit; }
#logo-header { position: relative; top: auto; line-height: 0; text-align: left; }
#logo-header img { max-width: 100%; height: auto; }
#main-content { top: 0; width: auto; max-width: 1150px; margin: 0 6% 32px; }
#main-content img { max-width: 100%; height: auto; }
#main-content { overflow-wrap: anywhere; }
pre { max-width: 100%; overflow-x: auto; }
#book-list { display: flex; flex-wrap: wrap; }
.book { float: none; height: auto; min-height: 240px; }
.book img { margin: 0 auto; }
.site-search { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; width: fit-content; max-width: 100%; margin: 1em 0; padding: 10px; background: #f0f4e8; border: 1px solid #647c3e; }
.site-search label { flex: 0 0 auto; font-weight: bold; white-space: nowrap; }
.site-search input { flex: 0 1 230px; width: 230px; min-width: 7ch; padding: 6px; background: white; border: 1px solid #666; }
.site-search input:focus { outline: 2px solid #48672a; outline-offset: 1px; }
.site-search button { padding: 6px 10px; font-weight: bold; }
input, select, button { font: inherit; }
input, select { max-width: 100%; }

.site-ad { max-width: 100%; overflow-x: auto; margin: 1em 0; }
#right { max-width: 100%; margin: 0 0 1em 1em; }
@media(max-width:640px) {
 body { font-size:16px; line-height:1.45; }
 #main-content { margin:0 8px 24px; padding:12px; }
 h1,.h1,.h2,.h5 { font-size:1.5em; line-height:1.25; }
 #right { float:none; margin:0 auto 1em; padding:12px; }
 .p,.p1,.p2,.p3,.p4,.p5,.p6,.p7,.p11,.p12,.t3 { text-align:left; line-height:1.45; }
 .p2,.p3,.p4,.p5,.p6,.p7,.ol2,.ol3,.ol4,.ol5 { margin-left:1em; text-indent:0; }
 .table,.t1 { margin-left:0; margin-right:0; }
 table { display:block; max-width:100%; overflow-x:auto; }
 table table { display:table; }
 .site-search { width:100%; gap:6px; padding:8px; font-size:14px; }
 .site-search input { flex:1 1 8ch; width:8ch; max-width:230px; }
 .site-search button { padding:6px; }
}
