.wk175-shell { width:min(var(--the7-content-width, 1300px), 94%); margin: 2rem auto; }
.wk175-directory { margin: 1.5rem 0; font-family:var(--the7-base-font-family, inherit); color:var(--the7-base-color, #0a0707); }
.wk175-directory [hidden] { display:none !important; }
.wk175-tools label { display:block; font-weight:600; margin-bottom:.4rem; }
.wk175-tools input[type=search] { box-sizing:border-box; width:100%; max-width:38rem; padding:.85rem; border:2px solid #ccc; border-radius:5px; font:inherit; }
.wk175-alphabet { display:flex; flex-wrap:wrap; gap:.4rem; margin:1rem 0; }
.wk175-alphabet button { padding:.55rem .8rem; min-width:2.6rem; border:1px solid #ccc; background:#fff; color:var(--the7-base-color, #0a0707); border-radius:5px; cursor:pointer; font:inherit; }
.wk175-alphabet button:hover, .wk175-alphabet button[aria-pressed=true] { border-color:var(--the7-links-color, #d9000d); background:var(--the7-links-color, #d9000d); color:#fff; }
.wk175-count, .wk175-page { color:#666; }
.wk175-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.2rem .65rem; align-content:start; list-style:none !important; margin:0 !important; padding:0 !important; }
.wk175-list li { margin:0; padding:0; }
.wk175-list a { position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:.15rem; height:100%; min-height:44px; box-sizing:border-box; padding:.45rem 78px .45rem .65rem; line-height:1.3; border:1px solid #ddd; border-radius:5px; text-decoration:none; color:var(--the7-base-color, #0a0707); background:#fff; }
.wk175-list a:hover { color:var(--the7-links-color, #d9000d); border-color:var(--the7-links-color, #d9000d); background:#f7f7f7; }
.wk175-list a span { margin:0; padding:0; line-height:1.3; }
.wk175-list a span:first-child { overflow-wrap:anywhere; }
.wk175-page { display:inline-flex; align-items:center; gap:.3rem; white-space:nowrap; font-size:.9em; }
.wk175-list a > .wk175-page { position:absolute; top:8px; right:8px; }
.wk175-page-icon { display:block; width:60px; height:24px; flex:none; }
.wk175-page-icon text { fill:currentColor; font-family:inherit; font-size:12px; font-weight:400; }
.wk175-spread { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:1rem; align-items:start; }
.wk175-spread figure { margin:0; }
.wk175-spread img { display:block; width:100%; height:auto; border:1px solid #ddd; box-sizing:border-box; }
.wk175-spread figcaption, .wk175-image-note { margin-top:.5rem; color:#666; font-size:.9em; }
.wk175-book-link { display:inline-block; padding:.7rem 1rem; border:1px solid currentColor; border-radius:5px; }
.wk175-flipbook { display:block; width:100%; height: min(80vh, 900px); min-height:480px; border:0; }
.wk175-shell a:focus-visible, .wk175-directory a:focus-visible, .wk175-directory button:focus-visible, .wk175-directory input:focus-visible { outline:3px solid var(--the7-accent-color, #d9000d); outline-offset:3px; }
@media(max-width:700px) { .wk175-list, .wk175-spread { grid-template-columns:minmax(0,1fr); } .wk175-shell { margin:1rem auto; } }

/* Book navigation: fixed controls and a non-modal selection panel. */
.wk175-enhanced { padding-bottom:calc(var(--wk175-dock-height, 82px) + 20px); }
.wk175-fullbook { height:78vh; height:78dvh; min-height:420px; border-radius:5px; background:var(--the7-footer-bg-color, #f2f2f2); }


.wk175-dock { position:fixed; z-index:10000; bottom:var(--wk175-keyboard-offset, 0px); left:0; right:0; display:grid; grid-template-columns:minmax(0,1fr) 220px 46px 46px minmax(0,1fr); align-items:center; gap:12px; padding:12px 20px calc(12px + env(safe-area-inset-bottom)); background:rgba(255,255,255,.88); color:var(--the7-base-color, #0a0707); border-top:1px solid #ddd; box-shadow:0 -3px 10px #0000001a; backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); }
.wk175-logo { display:block; grid-column:2; width:220px; max-width:100%; height:auto; margin:0; object-fit:contain; }
.wk175-icon { display:block; width:24px; height:24px; flex:none; }
.wk175-dock button { display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; width:46px; min-width:46px; height:46px; min-height:46px; padding:10px; flex:0 0 46px; border:1px solid var(--the7-links-color, #d9000d); border-radius:var(--the7-btn-m-border-radius, 5px); background:#fff; color:var(--the7-links-color, #d9000d); cursor:pointer; font:inherit; font-weight:600; margin:0; text-transform:none; }
.wk175-dock button:hover, .wk175-dock button[aria-expanded=true] { background:var(--the7-links-color, #d9000d); color:#fff; }
.wk175-enhanced .wk175-panel { position:fixed; z-index:9999; bottom:calc(var(--wk175-keyboard-offset, 0px) + var(--wk175-dock-height, 82px) + 12px); left:50%; transform:translateX(-50%); width:min(920px,calc(100% - 32px)); max-height:65vh; max-height:min(65dvh, calc(var(--wk175-viewport-height, 100dvh) - var(--wk175-dock-height, 82px) - 48px)); display:flex; flex-direction:column; box-sizing:border-box; padding:16px; border:1px solid #ddd; border-radius:5px; background:#fff; color:var(--the7-base-color, #0a0707); box-shadow:0 3px 15px #0000001a; }
.wk175-panel-heading { display:contents; }
.wk175-close { position:absolute; top:-28px; right:-6px; z-index:2; margin:0; box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:40px; height:40px; min-height:40px; padding:8px; border:1px solid #ddd; border-radius:50%; box-shadow:0 2px 8px #0002; background:#fff; color:var(--the7-base-color, #0a0707); font:inherit; cursor:pointer; font-size:.9rem; }
.wk175-enhanced .wk175-list { overflow-y:auto; overscroll-behavior:contain; min-height:0; padding:3px !important; }
.wk175-enhanced .wk175-tools { flex-shrink:0; min-height:44px; padding-right:0; margin-bottom:8px; }
.wk175-enhanced .wk175-tools input { max-width:none; }
.wk175-enhanced .wk175-count { margin:.6rem 0; font-size:.9rem; }
.wk175-enhanced .wk175-alphabet { margin:0; max-height:30vh; overflow-y:auto; padding:2px; }
.wk175-dock button:focus-visible, .wk175-close:focus-visible { outline:3px solid var(--the7-accent-color, #d9000d); outline-offset:3px; }
@media(max-width:700px) {
    .wk175-dock { grid-template-columns:minmax(0,1fr) 148px 38px 38px; gap:8px; padding-left:12px; padding-right:12px; }
    .wk175-logo { width:148px; height:38px; margin:0; }
    
    .wk175-enhanced .wk175-panel { padding:12px; width:calc(100% - 20px); max-height:min(68dvh, calc(var(--wk175-viewport-height, 100dvh) - var(--wk175-dock-height, 82px) - 48px)); }
    .wk175-fullbook { min-height:380px; height:70dvh; }
}

.wk175-sr-only { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; clip-path:inset(50%) !important; white-space:nowrap !important; border:0 !important; }
@media(min-width:701px) and (max-width:1000px) { .wk175-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }

.wk175-directory .wk175-close:hover, .wk175-directory .wk175-close:focus-visible { background:var(--the7-links-color, #d9000d); color:#fff; }
.wk175-directory .wk175-close:focus-visible { outline-offset:-3px; }

.wk175-directory .wk175-selection { grid-column:1; grid-row:1; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; overflow-wrap:anywhere; min-width:0; max-height:52px; margin:0; padding:0 12px 0 0; color:#777; font-size:20px; font-weight:400; line-height:26px; text-align:left; opacity:0; visibility:hidden; transition:opacity 180ms ease, visibility 0s linear 180ms; }
.wk175-directory .wk175-selection.is-visible { opacity:1; visibility:visible; transition-delay:0s; }
.wk175-dock { min-height:82px; box-sizing:border-box; }
.wk175-dock [data-mode="search"] { grid-column:3; grid-row:1; }
.wk175-dock [data-mode="az"] { grid-column:4; grid-row:1; }
@media(max-width:700px) {
    .wk175-dock .wk175-selection { font-size:16px; line-height:18px; max-height:36px; padding-right:0; }
    .wk175-dock button { width:38px; min-width:38px; height:38px; min-height:38px; padding:8px; }
    .wk175-dock button .wk175-icon { width:20px; height:20px; }
}
@media(prefers-reduced-motion:reduce) { .wk175-directory .wk175-selection { transition:none; } }

@media(max-width:700px) {
    .wk175-dock { grid-template-columns:minmax(0,1fr) 38px 38px; }
    .wk175-dock .wk175-selection { display:none; }
    .wk175-dock .wk175-logo { grid-column:1; width:148px; height:38px; max-width:100%; }
    .wk175-dock [data-mode="search"] { grid-column:2; }
    .wk175-dock [data-mode="az"] { grid-column:3; }
}

@media(max-width:700px) { .wk175-tools input[type=search] { font-size:16px; } }

@media(max-width:700px) {
    .wk175-directory > .wk175-selection { position:fixed; z-index:9998; top:calc(var(--wk175-header-bottom, 0px) + 8px); left:12px; width:max-content; max-width:min(460px, calc(100% - 24px)); box-sizing:border-box; display:-webkit-box; height:auto; min-height:0; max-height:52px; margin:0; padding:8px 10px; font-size:18px; line-height:18px; text-align:left; background:var(--the7-accent-color, #d9000d); color:#fff; border-radius:5px; pointer-events:none; }
}

@media(max-width:700px) { .wk175-directory:not(.wk175-active) > .wk175-selection { opacity:0; visibility:hidden; } }
