/* Readable bookstore layout. Sizes follow the visitor's text preference. */
html{font-size:100%}html[data-text-size=large]{font-size:125%}html[data-text-size=largest]{font-size:200%}
:root{--muted:#555;--control-border:#757575}html[data-theme=dark]{--muted:#cfc8c5;--control-border:#928884}
body{font-size:1.125rem;line-height:1.7}h1,h2,h3,p,li,a{overflow-wrap:break-word}button,input,select,textarea{font-size:1rem}
.container{width:min(1280px,calc(100% - 48px))}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--sage);outline-offset:4px}
.utility-bar>.container{flex-wrap:wrap;gap:8px 24px;padding-block:8px}.utility-bar nav{flex-wrap:wrap;gap:4px 18px}.utility-bar nav a{font-size:.9375rem;min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px}
.reading-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-left:auto}.reading-controls label{font-size:.9375rem;color:var(--ink)}.reading-controls select{max-width:100%;min-height:44px;padding:6px 10px;background:var(--paper);color:var(--ink);border:1px solid var(--control-border);border-radius:3px;font-size:.9375rem}
body .theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;height:auto;min-width:44px;min-height:44px;padding:8px 12px;border:1px solid var(--control-border);border-radius:3px;font-size:.9375rem}.theme-toggle .icon{width:22px;height:22px}
.header-main{display:grid;grid-template-columns:auto minmax(240px,1fr) auto;gap:24px;padding-block:24px}.brand>span{font-size:2.5rem}.brand small{font-size:.875rem;letter-spacing:0}.brand>svg{width:40px;height:40px}
.search-form{width:100%;min-height:52px;max-width:none;margin:0;padding:0 0 0 12px;border:1px solid var(--control-border);border-radius:3px}.search-form input{font-size:1rem;min-height:50px;min-width:0;color:var(--ink)}.search-form button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;min-width:76px;font-size:1rem;padding:8px 12px}.search-form .icon{width:22px;height:22px}
.header-actions{display:flex;align-items:center;gap:8px;margin:0}.header-actions a{min-width:44px;min-height:48px;padding:9px 12px;font-size:.9375rem;gap:7px;border:1px solid var(--control-border);border-radius:3px;white-space:normal;justify-content:center}.header-actions .icon{width:22px;height:22px}.header-actions .favorites-link span,.header-actions .account-link span,.header-actions .cart-label{display:inline!important}.header-actions .favorites-link{display:inline-flex!important}.cart-link{position:relative;border-color:var(--accent)!important}.kelam-cart-count{font-size:.875rem;min-width:20px}.menu-toggle{display:none}
.primary-nav{display:flex;flex-wrap:wrap;gap:8px 24px;padding-block:8px}.primary-nav a{font-size:1.125rem;font-weight:600;min-height:48px;display:inline-flex;align-items:center;padding:6px 4px}
.catalog-layout{grid-template-columns:260px minmax(0,1fr);gap:28px}.catalog-rail-content{padding:18px}.category-tree h2{font-size:1.25rem;margin-bottom:8px}.category-help{font-size:.9375rem;color:var(--muted);line-height:1.6;margin-bottom:16px}
.category-family{margin-bottom:8px;border-bottom:1px solid var(--line)}.category-family>summary{display:flex;align-items:center;gap:10px;min-height:48px;cursor:pointer;font-size:1.125rem;font-weight:600;padding:8px 0;list-style:none}.category-family>summary::-webkit-details-marker{display:none}.category-family>summary small{margin-left:auto;font-size:.875rem;color:var(--muted);font-weight:400}.category-family>summary::after{content:'+';font-size:1.25rem;line-height:1;width:20px;text-align:center;color:var(--sage)}.category-family[open]>summary::after{content:'−'}
.category-children{padding:4px 0 12px 8px}.category-tree a,.category-branch>div a{min-height:44px;font-size:1rem;line-height:1.55;padding-block:8px}.category-tree a small{font-size:.875rem}.category-branch>summary{min-height:44px;font-size:1rem;line-height:1.5;padding-block:9px}.category-branch>div{padding-left:12px}.category-tree a[aria-current=page]{font-weight:700;text-decoration:underline;text-underline-offset:4px}
.catalog-advanced-search{border-top:1px solid var(--line);margin-top:18px;padding-top:10px}.catalog-advanced-search>summary{cursor:pointer;font-size:1rem;font-weight:600;min-height:48px;padding-block:10px}.catalog-search{margin:10px 0 0;padding:0;border:0}.catalog-search label{font-size:1rem;color:var(--ink)}.catalog-search input,.catalog-search select{font-size:1rem;min-height:48px;border-color:var(--control-border);margin-bottom:16px}.catalog-search button{min-height:48px;font-size:1rem}.search-reset,.condition-guide-link{font-size:1rem;min-height:44px;line-height:1.6;padding-block:10px;text-decoration:underline;text-underline-offset:4px}
.catalog-banner{grid-template-columns:1fr 36%;min-height:310px}.catalog-banner>div{padding:32px}.catalog-banner h1{font-size:clamp(2rem,3vw,2.625rem);line-height:1.2}.catalog-banner p,.catalog-banner>div>p:first-child{font-size:1.125rem;line-height:1.65}.catalog-banner .button{font-size:1rem;min-height:48px;padding:12px 20px}
.catalog-shortcuts{margin-bottom:24px}.catalog-shortcuts a{font-size:1rem;min-height:52px;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 8px}.catalog-shortcuts span{font-size:1.25rem;margin:0}.catalog-reference-note{font-size:1rem;line-height:1.7;background:var(--tint);border-left:3px solid var(--sage);padding:16px 18px;margin-bottom:26px;color:var(--ink)}
.catalog-section-heading{align-items:center;flex-wrap:wrap}.catalog-section-heading h2,.home-journal .section-heading h2{font-size:1.5rem}.catalog-section-heading>a,.home-journal .section-heading>a{font-size:1rem;min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px}
ul.products,.catalog-content ul.products{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 20px}ul.products li.product{padding:16px!important}ul.products li.product a img{height:250px;padding:12px;margin-bottom:18px}ul.products li.product .woocommerce-loop-product__title{font-size:1.125rem;line-height:1.5;margin-bottom:10px;overflow-wrap:anywhere}ul.products .product-creator{font-size:1rem!important;line-height:1.6;margin-bottom:12px}ul.products .price{font-size:1.25rem;line-height:1.55;margin-block:10px 14px}
body .kelam-reference-price>small,body .summary .kelam-reference-price>small{font-size:1rem;line-height:1.6;color:var(--muted)}.woocommerce ul.products li.product .button{min-height:48px;font-size:1rem;padding:10px 14px;align-self:stretch}
body ul.products li.product .favorite-toggle{position:static;width:100%;height:auto;min-height:44px;border:1px solid var(--control-border);border-radius:3px;background:var(--paper);color:var(--ink);padding:8px 10px;margin-top:10px;display:inline-flex;justify-content:center;align-items:center;gap:8px;font-size:1rem;line-height:1.5}.favorite-toggle .icon{width:22px;height:22px}.favorite-toggle.selected{font-weight:600}.condition-badge{font-size:.875rem;line-height:1.5;top:22px;left:22px}
.shop-filters{flex-wrap:wrap;gap:16px;background:var(--tint);margin-top:20px}.shop-filters>div{flex-wrap:wrap;gap:4px 18px}.shop-filters>div a{font-size:1rem;min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px}.shop-filters form{font-size:1rem;flex-wrap:wrap}.shop-filters select,.woocommerce-ordering select{font-size:1rem;min-height:48px;border-color:var(--control-border);max-width:100%;background:var(--paper);color:var(--ink)}.shop-filters button{font-size:1rem;min-height:48px;padding:10px 18px}
.woocommerce-products-header h1{font-size:2rem;line-height:1.35}.woocommerce-breadcrumb{font-size:1rem;line-height:1.7}.woocommerce-breadcrumb a{text-decoration:underline;text-underline-offset:4px}.woocommerce-result-count{font-size:1rem;line-height:1.7}.woocommerce-ordering{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:1rem}.woocommerce-ordering label{font-weight:600}.woocommerce-pagination a,.woocommerce-pagination .current{min-width:44px;min-height:48px;font-size:1.125rem;padding:8px 14px}.woocommerce-pagination ul{flex-wrap:wrap}
.browse-subjects>div>a{font-size:1rem;min-height:48px;align-items:center;padding:12px}.home-journal .journal-card h2,.journal-card h2{font-size:1.375rem;line-height:1.5}.home-journal .journal-card p,.journal-card p,.journal-intro p{font-size:1.125rem;line-height:1.8}.journal-meta,.article-byline{font-size:1rem}.journal-read,.article-back,.article-footer{font-size:1rem;line-height:1.7}.journal-read,.article-back,.journal-topics a{min-height:44px;display:inline-flex;align-items:center}.journal-topics a{font-size:1rem;border-radius:3px}.journal-intro h1,.article-main h1{font-size:2.5rem;line-height:1.3}.article-body,.entry-content{font-size:1.125rem;line-height:1.8}.article-body{max-width:65ch}.article-body p,.article-body li{line-height:1.8}.article-body h2{font-size:1.75rem}
.summary h1{font-size:2rem;line-height:1.4;overflow-wrap:anywhere}.summary .price{font-size:1.5rem}.woocommerce-product-details__short-description,.kelam-product-specs,.condition-notes,.kelam-source-note{font-size:1.125rem;line-height:1.8}.kelam-product-specs dl{font-size:1rem}.kelam-product-specs dt,.kelam-product-specs dd{overflow-wrap:anywhere}.single-favorite{font-size:1rem;min-height:48px;border-color:var(--control-border)}.woocommerce-tabs .tabs a{font-size:1rem;min-height:44px;display:inline-flex;align-items:center}.woocommerce-product-gallery__trigger{min-width:44px;min-height:44px!important}
.form-row label,.woocommerce form label,.kelam-contact label{font-size:1rem;line-height:1.6}.input-text,.form-row input,.form-row select,.form-row textarea,.kelam-contact input:not([type=checkbox]),.kelam-contact textarea,.woocommerce-Reviews textarea{font-size:1.125rem;border-color:var(--control-border);min-height:48px}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.button,button[type=submit]{font-size:1rem;min-height:48px}.woocommerce-message,.woocommerce-info,.woocommerce-error{font-size:1rem;line-height:1.7}
.footer-grid h2{font-size:1.125rem}.footer-grid p,.footer-grid a:not(.brand){font-size:1rem;line-height:1.7}.footer-grid a:not(.brand){min-height:44px;display:flex;align-items:center}.footer-bottom{font-size:.9375rem;line-height:1.7}.footer-bottom a{min-height:44px;display:inline-flex;align-items:center}.kelam-toast{font-size:1rem;line-height:1.7}body .kelam-store-notice{font-size:1rem!important;line-height:1.7;padding:12px 18px!important}
.catalog-no-results h2,.shelf-empty h3{font-size:1.25rem}.catalog-no-results p,.shelf-empty p,.catalog-no-results a,.shelf-empty>a{font-size:1.125rem;line-height:1.7}.catalog-no-results a,.shelf-empty>a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:1100px){.header-main{grid-template-columns:auto 1fr;gap:20px}.header-actions{grid-column:1/-1;justify-content:flex-end}.catalog-content ul.products,ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.catalog-layout{grid-template-columns:1fr}.catalog-rail>summary{display:block;min-height:52px;padding:12px 16px;font-size:1.125rem;line-height:1.55}.catalog-rail-content{display:block}.header-main{grid-template-columns:1fr;gap:18px}.header-main .brand{justify-self:start}.search-form{order:1;flex-basis:auto}.header-actions{order:2;grid-column:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%}.header-actions a,.menu-toggle{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:1rem;min-height:72px;padding:10px 6px!important;border:1px solid var(--control-border);border-radius:3px;background:var(--paper);color:var(--ink)}.header-actions .cart-link{background:var(--accent);color:#fff}.header-actions .cart-label{display:inline}.header-actions .kelam-cart-count{position:absolute;top:6px;right:6px;padding:1px 4px;min-width:18px;font-size:.875rem}.menu-toggle .icon{width:24px;height:24px}.primary-nav{display:none;padding-block:0}.primary-nav.open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-block:8px 18px}.primary-nav a{font-size:1rem;min-height:48px;border:1px solid var(--line);border-radius:3px;padding:10px 12px}.woocommerce-product-gallery,.summary.entry-summary{width:100%;float:none}.summary.entry-summary{padding-top:24px}.utility-bar>.container{justify-content:flex-start}.reading-controls{margin:0}.category-tree{max-width:100%}}
@media(max-width:600px){.container{width:calc(100% - 32px)}.utility-bar nav{gap:0 14px}.utility-bar nav a{font-size:.875rem}.reading-controls{gap:8px}.reading-controls label,.reading-controls select,body .theme-toggle{font-size:.875rem}.header-main{padding-block:20px}.brand>span{font-size:2.25rem}.brand>svg{width:36px;height:36px}.header-actions{gap:6px}.header-actions a,.menu-toggle{font-size:.9375rem}.catalog-banner{grid-template-columns:1fr;min-height:0}.catalog-banner>div{padding:26px 22px}.catalog-banner h1{font-size:2rem}.catalog-banner p,.catalog-banner>div>p:first-child{font-size:1.125rem}.catalog-banner img{min-height:0;height:200px;object-fit:cover;object-position:center 55%}.catalog-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-shortcuts a{font-size:1rem;min-height:56px}.browse-subjects>div:last-child{grid-template-columns:1fr}.home-journal .journal-grid{grid-template-columns:1fr}.shop-filters form{width:100%}.woocommerce-ordering,.woocommerce-result-count{float:none}.woocommerce-ordering{margin-bottom:24px}.woocommerce-ordering select{width:100%}.footer-grid{grid-template-columns:1fr}.footer-grid .brand{font-size:1rem}.journal-intro h1,.article-main h1,.page-main h1{font-size:2rem}.shop-filters select{flex:1;min-width:120px}.article-footer{flex-direction:column}}
@media(max-width:480px){.catalog-content ul.products,ul.products{grid-template-columns:1fr;gap:18px}ul.products li.product{padding:14px!important}ul.products .woocommerce-loop-product__link{display:grid;grid-template-columns:108px minmax(0,1fr);column-gap:16px;align-items:start}ul.products li.product a img{grid-column:1;grid-row:1/5;width:108px;height:175px;padding:6px;margin:0}ul.products li.product .woocommerce-loop-product__title,ul.products .product-creator,ul.products .price{grid-column:2}ul.products li.product .woocommerce-loop-product__title{font-size:1.125rem}ul.products .price{margin-block:4px 12px}.woocommerce ul.products li.product .button,body ul.products li.product .favorite-toggle{width:calc(100% - 124px);align-self:flex-end}.condition-badge{font-size:.875rem;position:static;align-self:start;margin-bottom:8px}.catalog-section-heading h2{font-size:1.375rem}.catalog-section-heading>a{font-size:1rem}.kelam-product-specs dl{grid-template-columns:1fr}.summary h1{font-size:1.75rem}}
html[data-text-size=largest] .header-main{grid-template-columns:1fr}html[data-text-size=largest] .header-actions{grid-column:auto;flex-wrap:wrap}html[data-text-size=largest] .catalog-layout{grid-template-columns:1fr}html[data-text-size=largest] .catalog-rail>summary{display:block;min-height:48px;font-size:1rem;padding:12px 16px}html[data-text-size=largest] .catalog-banner{grid-template-columns:1fr}html[data-text-size=largest] .catalog-banner img{min-height:0;height:240px}html[data-text-size=largest] ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}html[data-text-size=largest] .header-actions a{white-space:normal}html[data-text-size=largest] .catalog-shortcuts,html[data-text-size=largest] .browse-subjects>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}html[data-text-size=largest] .journal-grid{grid-template-columns:1fr}html[data-text-size=largest] .kelam-product-specs dl{grid-template-columns:1fr}
@media(max-width:700px){html[data-text-size=largest] .header-actions{grid-template-columns:repeat(2,minmax(0,1fr))}html[data-text-size=largest] .header-actions a,html[data-text-size=largest] .menu-toggle{font-size:.875rem}html[data-text-size=largest] .search-form .icon{display:none}html[data-text-size=largest] .search-form button{min-width:76px}html[data-text-size=largest] .primary-nav.open,html[data-text-size=largest] .catalog-shortcuts,html[data-text-size=largest] .browse-subjects>div:last-child,html[data-text-size=largest] ul.products{grid-template-columns:1fr}html[data-text-size=largest] ul.products .woocommerce-loop-product__link{display:block}html[data-text-size=largest] ul.products li.product a img{width:100%;height:240px;margin-bottom:18px}html[data-text-size=largest] .woocommerce ul.products li.product .button,html[data-text-size=largest] ul.products li.product .favorite-toggle{width:100%}.woocommerce-pagination ul{gap:6px}html[data-text-size=largest] .reading-controls label{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
