/* Shared visual language from DFArchiv Film Database 0.9.0. */
.dfk-library,.dfk-detail,.dfk-my-lib,.dfk-top,.dfk-compare-table{--dfk-blue:#175f87;--dfk-dark:#143647;--dfk-line:#d8e1e6;--dfk-muted:#626f78;color:#20343f;font-family:inherit;font-size:16px;line-height:1.6;text-align:left;max-width:1100px;margin:24px auto}
.dfk-library *,.dfk-detail *,.dfk-my-lib *{box-sizing:border-box}
.dfk-heading{margin-bottom:28px}.dfk-kicker{margin:0 0 7px!important;color:var(--dfk-blue);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.dfk-heading h2{margin:0 0 10px;font-size:clamp(28px,4vw,42px);font-weight:650;line-height:1.15;color:var(--dfk-dark)}.dfk-heading>p:last-child{margin:0;color:var(--dfk-muted)}
.dfk-library button,.dfk-detail button,.dfk-my-lib button{font:inherit;cursor:pointer;letter-spacing:normal;text-transform:none;border-radius:5px;box-shadow:none;border:1px solid var(--dfk-line);background:#fff;color:var(--dfk-blue);padding:8px 13px;line-height:1.4}
.dfk-library a,.dfk-detail a,.dfk-my-lib a{color:var(--dfk-blue);text-decoration:none}.dfk-library a:hover,.dfk-detail a:hover,.dfk-my-lib a:hover{text-decoration:underline}
.dfk-filter{display:grid;grid-template-columns:2fr 1.5fr 1fr auto;gap:14px;align-items:end;margin:0 0 24px;padding:0 0 20px;border-bottom:2px solid var(--dfk-blue);background:transparent}
.dfk-filter label{display:block;font-size:13px;font-weight:600;min-width:0}.dfk-library .dfk-filter input,.dfk-note textarea{display:block;width:100%;max-width:100%;border:1px solid #b7c8d2;border-radius:5px;background:#fff;padding:12px 14px;color:#20343f;font:inherit;line-height:1.5;margin:6px 0 0;box-shadow:none}
.dfk-filter button{padding:12px 14px}.dfk-filter button,.dfk-stbtn.active,.dfk-save-note{background:var(--dfk-blue)!important;border-color:var(--dfk-blue)!important;color:#fff!important}
.dfk-list-heading{color:var(--dfk-muted);font-size:12px;letter-spacing:.03em;margin:0;padding-bottom:12px;border-bottom:1px solid var(--dfk-line)}
.dfk-books{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0}
.dfk-library .dfk-card{border:1px solid var(--dfk-line);border-radius:6px;background:#fff;padding:18px;box-shadow:none;min-width:0;text-align:left}
.dfk-card:hover{background:#f4f8fa}
/* Portrait frame, original image; no square WordPress thumbnail crop. */
.dfk-library .dfk-cover-wrap{display:flex;width:100%;max-width:190px;aspect-ratio:2/3;height:auto;align-items:center;justify-content:center;margin:0 auto 18px;background:#edf3f6;border:1px solid var(--dfk-line);border-radius:6px;overflow:hidden}
.dfk-library .dfk-cover-thumb{display:block;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center;margin:0!important;padding:0;border:0;border-radius:0}
.dfk-library .dfk-title-line{font-size:18px;line-height:1.5;margin:0 0 6px;font-weight:500;color:var(--dfk-dark)}.dfk-card>p{margin:0 0 5px;font-size:14px;color:var(--dfk-muted)}.dfk-sub{font-size:13px;color:var(--dfk-muted)}
.dfk-detail{display:grid;grid-template-columns:170px minmax(0,1fr);gap:30px;align-items:start}.dfk-detail .dfk-cover-lg{display:block;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;background:#edf3f6;border:1px solid var(--dfk-line);border-radius:6px;margin:0!important}
.dfk-detail-body{min-width:0}.dfk-detail h2{font-size:clamp(25px,3.5vw,36px);line-height:1.15;margin:2px 0 20px;color:var(--dfk-dark);font-weight:650}.dfk-detail h3{font-size:20px;margin:18px 0 10px;color:var(--dfk-dark)}
.dfk-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;list-style:none;padding:0;margin:20px 0}.dfk-meta li{border-top:1px solid var(--dfk-line);padding-top:7px;margin:0;font-size:14px;overflow-wrap:anywhere}.dfk-meta b{font-weight:400}
.dfk-myctl{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 18px;padding-top:20px;border-top:3px solid var(--dfk-blue)}
.dfk-note{margin:18px 0;padding:16px;background:#f6fafc;border:1px solid var(--dfk-line);border-left:4px solid var(--dfk-blue);border-radius:5px}.dfk-note label{display:block;font-size:13px;font-weight:600}.dfk-note textarea{resize:vertical}.dfk-save-note{margin-top:12px}.dfk-note [role=status]{font-size:14px;color:var(--dfk-blue)}
.dfk-stars{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 16px;background:#f1f7fa;border:1px solid var(--dfk-line);border-radius:6px}.dfk-stars-wrap{display:flex;gap:3px}.dfk-detail .dfk-star{border:0;background:transparent!important;color:#aebbc2!important;padding:2px;font-size:29px;line-height:1}.dfk-detail .dfk-star.filled,.dfk-detail .dfk-star:hover{color:#df9b16!important}.dfk-count{font-size:13px;color:var(--dfk-muted)}.dfk-score{font-size:14px;font-weight:400}
.dfk-compare-table,.dfk-top{overflow:auto}.dfk-compare-table table,.dfk-top table{width:100%;border-collapse:collapse}.dfk-compare-table th,.dfk-compare-table td,.dfk-top td,.dfk-top th{padding:10px;border:1px solid var(--dfk-line);text-align:left;font-size:14px;font-weight:400}.dfk-compare-table th{background:#edf3f6;color:var(--dfk-dark)}
.dfk-row{padding:16px 12px;border-bottom:1px solid var(--dfk-line)}.dfk-st{color:var(--dfk-muted);font-size:13px;margin-right:16px}.dfk-library nav{display:flex;gap:12px;justify-content:center;margin:24px 0}.dfk-library nav .page-numbers{padding:5px 10px;border:1px solid var(--dfk-line);border-radius:5px}.dfk-library nav .current{background:var(--dfk-blue);color:#fff}
.dfk-library button:hover,.dfk-myctl button:hover{background:var(--dfk-blue);border-color:var(--dfk-blue);color:#fff}
.dfk-library button:focus-visible,.dfk-library a:focus-visible,.dfk-library input:focus-visible,.dfk-detail button:focus-visible,.dfk-detail a:focus-visible,.dfk-note textarea:focus-visible{outline:3px solid #3d99c9;outline-offset:3px}
@media(max-width:800px){.dfk-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.dfk-books{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.dfk-library{margin:16px 0}.dfk-heading{margin-bottom:22px}.dfk-books{gap:14px}.dfk-library .dfk-card{padding:12px}.dfk-detail{grid-template-columns:86px minmax(0,1fr);gap:14px}.dfk-detail h2{font-size:25px;margin:0 0 14px}.dfk-meta{grid-template-columns:1fr;gap:8px}.dfk-detail-body{overflow-wrap:anywhere}.dfk-stars{padding:10px}.dfk-detail .dfk-star{font-size:25px}}
@media(max-width:420px){.dfk-books,.dfk-filter{grid-template-columns:1fr}.dfk-library .dfk-cover-wrap{max-width:170px}}
/* Compact retro library shelf, with an optional readable spine view. */
.dfk-catalogue-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;border-bottom:1px solid var(--dfk-line);padding-bottom:12px}.dfk-catalogue-toolbar .dfk-list-heading{border:0;padding:0}.dfk-view-switch{display:flex;gap:6px}.dfk-view-switch button{font-size:12px;padding:6px 9px}.dfk-view-switch button[aria-pressed=true]{background:var(--dfk-blue);color:#fff;border-color:var(--dfk-blue)}
.dfk-books{grid-template-columns:repeat(6,minmax(0,1fr));gap:18px 14px;padding:18px 12px;background:#f5f3ee;border-block:1px solid #dfdbd2;border-radius:6px}
.dfk-library .dfk-card{padding:12px 8px 16px;border:0;border-bottom:5px solid #c8bba6;border-radius:2px;background:transparent;box-shadow:0 3px 3px #1436470b}
.dfk-library .dfk-card:hover{background:#edf3f6}.dfk-library .dfk-cover-wrap{max-width:100px;margin-bottom:12px;background:#ede9e0;border-color:#d8d2c6;border-radius:2px}.dfk-library .dfk-title-line{font-size:14px;line-height:1.45;margin:0 0 5px}.dfk-card>p{font-size:12px;line-height:1.4;margin-bottom:5px}.dfk-sub,.dfk-edition-count{font-size:11px;line-height:1.5}.dfk-edition-count{display:block;margin-top:5px;color:var(--dfk-blue)}.dfk-cover-missing{padding:10px;text-align:center;font-family:Georgia,serif;color:#143647;font-size:13px}
/* Cover tint beneath a contrasting, rotated horizontal label. */
.dfk-spine{display:none}.dfk-books[data-view=spines]{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:12px;align-items:end}.dfk-books[data-view=spines] .dfk-card{padding:0;border-bottom-width:6px;min-width:0;overflow:hidden}.dfk-books[data-view=spines] .dfk-card>:not(.dfk-spine){display:none}
.dfk-books[data-view=spines] .dfk-spine{display:block;position:relative;isolation:isolate;width:100%;height:300px;overflow:hidden;background:#23485b;border:1px solid #183746;border-left:5px solid #ffffff24;border-radius:3px 3px 0 0;box-shadow:inset -4px 0 5px #0002;color:#fff!important;text-decoration:none!important}
.dfk-spine-tint{position:absolute!important;inset:-10%!important;width:120%!important;height:120%!important;max-width:none!important;object-fit:cover!important;filter:blur(8px);opacity:.85;margin:0!important;z-index:-2}
.dfk-spine::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#10232eaa,#10232e66);z-index:-1}
.dfk-spine-label{position:absolute;top:50%;left:50%;width:250px;height:52px;transform:translate(-50%,-50%) rotate(-90deg);background:#10232ee8;border-radius:3px;padding:7px 10px;overflow:hidden;text-align:left;font-family:inherit}
.dfk-spine-label span,.dfk-spine-label small{display:block;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff!important;writing-mode:horizontal-tb}
.dfk-spine-label span{font-size:15px;font-weight:600;line-height:1.3}.dfk-spine-label small{font-size:11px;line-height:1.4;margin-top:3px}.dfk-spine:hover{filter:brightness(1.08)}
.dfk-edition-links{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.dfk-edition-links a{display:inline-block;font-size:13px;border:1px solid var(--dfk-line);border-radius:5px;padding:7px 10px}.dfk-edition-links .is-current{background:var(--dfk-blue);border-color:var(--dfk-blue);color:#fff}.dfk-edition-comparison{margin:16px 0}.dfk-edition-comparison summary{color:var(--dfk-blue);cursor:pointer;border-bottom:2px solid var(--dfk-blue);padding:10px 0;font-size:14px}.dfk-edition-comparison table{min-width:550px}.dfk-edition-comparison .dfk-compare-table{max-width:100%;margin:12px 0}.dfk-research,.dfk-index,.dfk-errata{margin:24px 0;border-top:1px solid var(--dfk-line);padding-top:12px}.dfk-research h4{font-size:13px;color:var(--dfk-muted);margin:14px 0 4px;font-weight:500}.dfk-research-item p{font-size:14px;margin:0}.dfk-erratum{padding:12px 16px;border-left:3px solid var(--dfk-blue);background:#f6fafc;margin:12px 0;font-size:14px}.dfk-erratum p{margin:5px 0}.dfk-erratum b{font-weight:500}.dfk-edition-section{scroll-margin-top:80px}
@media(max-width:1000px){.dfk-books{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:800px){.dfk-books{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:640px){.dfk-books{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 8px;padding:12px 5px}.dfk-catalogue-toolbar{align-items:start;flex-wrap:wrap}.dfk-library .dfk-card{padding:10px 5px 12px}.dfk-library .dfk-title-line{font-size:12px}.dfk-books[data-view=spines] .dfk-spine{height:260px}.dfk-spine-label{width:215px}}@media(max-width:420px){.dfk-books{grid-template-columns:repeat(2,minmax(0,1fr))}}
.dfk-detail-cover-missing{aspect-ratio:2/3;display:grid;place-items:center;padding:16px;border:1px solid var(--dfk-line);border-radius:6px;background:#edf3f6;color:var(--dfk-muted);font-size:12px;text-align:center}

.dfk-reader-quality{margin:0 0 20px}.dfk-reader-quality h3{margin-top:0}.dfk-book-contents{padding:16px 20px;background:#f8f5ee;border-left:3px solid #b99c62;margin-bottom:20px;overflow-wrap:anywhere}.dfk-book-contents p{white-space:normal}.dfk-recommendations{margin:20px 0 24px;padding:16px 20px;background:#edf3f6;border:1px solid #d8e1e6;border-radius:5px}.dfk-recommendations h3{margin:0 0 8px;font-size:20px;color:#143647}.dfk-recommendations ol{margin:12px 0 0;padding-left:24px}.dfk-recommendations li{padding:6px 0}.dfk-recommendations li span{display:block;font-size:12px;color:#526572}.dfk-price{border-top:1px solid #d8e1e6;padding:14px 0;margin:20px 0}.dfk-shop-link{display:inline-block;padding:10px 14px;background:#175f87;color:#fff!important;border-radius:5px}

.dfk-rating-avatar{display:flex;align-items:center;gap:10px;margin:0 0 18px;width:fit-content;max-width:100%}.dfk-rating-medallion{display:grid;place-items:center;width:54px;height:54px;flex:0 0 54px;border-radius:50%;background:#edf3f6;color:#175f87;border:2px solid #c8d8e1}.dfk-rating-medallion svg{display:block;width:38px;height:38px}.dfk-avatar-text{display:flex;flex-direction:column;line-height:1.35}.dfk-avatar-text small{font-size:11px;color:#626f78}.dfk-avatar-score{font-size:17px;color:#143647;font-weight:600}.dfk-rating-avatar[data-grade=excellent] .dfk-rating-medallion{background:#fff4d5;border-color:#c6a04d;color:#8a6317}.dfk-rating-avatar[data-grade=mixed] .dfk-rating-medallion{background:#fff0df;border-color:#d6ae78;color:#946328}.dfk-rating-avatar[data-grade=low] .dfk-rating-medallion{background:#f9e8e5;border-color:#ceaaa3;color:#9a5347}.dfk-rating-avatar[data-grade=unrated] .dfk-rating-medallion{background:#f0f1f2;border-color:#d0d4d6;color:#808a90}

/* Numeric rating in the actual upper-right corner, alongside the title. */
.dfk-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.dfk-card-heading h2{flex:1;min-width:0;margin:2px 0 0;overflow-wrap:anywhere}.dfk-card-heading .dfk-rating-avatar{display:flex;flex-direction:column;align-items:center;gap:5px;flex:0 0 76px;width:76px;margin:0;text-align:center}.dfk-card-heading .dfk-rating-medallion{display:flex;flex-direction:column;align-items:center;justify-content:center;width:70px;height:70px;flex:0 0 70px;gap:1px}.dfk-rating-medallion .dfk-avatar-score{font-size:25px;line-height:1.1;font-weight:650;color:inherit}.dfk-avatar-scale{font-size:12px;line-height:1.2}.dfk-avatar-count{font-size:11px;line-height:1.3;color:#626f78}@media(max-width:640px){.dfk-card-heading{gap:10px}.dfk-card-heading .dfk-rating-avatar{width:62px;flex-basis:62px}.dfk-card-heading .dfk-rating-medallion{width:58px;height:58px;flex-basis:58px}.dfk-rating-medallion .dfk-avatar-score{font-size:22px}}

/* Keep the catalogue header compact even inside a page-builder theme. */
.dfk-library>.dfk-heading{display:block;position:static;height:auto!important;min-height:0!important;max-height:none;padding:0!important;margin:0 0 20px!important;transform:none!important}.dfk-library>.dfk-heading>p{margin:0!important;padding:0;min-height:0;height:auto}.dfk-library>.dfk-heading>h2{margin:0 0 10px!important}.dfk-library .dfk-featured,.dfk-library .dfk-alphabetical{display:block;margin:16px 0 0;padding:0;min-height:0;height:auto}.dfk-library .dfk-featured>h3,.dfk-library .dfk-alphabetical>h3{font-size:17px;margin:0 0 8px;padding:0;line-height:1.3}.dfk-library .dfk-featured-books{margin-top:0;margin-bottom:18px}.dfk-library .dfk-card{position:relative;transform:none!important;transition:background-color .15s ease;min-height:0}.dfk-card-rating{display:block;font-size:11px;color:#8a6317;line-height:1.4;margin-top:6px}

/* Book-shaped rating badge; the numeric result stays in its cover. */
.dfk-card-heading .dfk-rating-book{position:relative;width:66px;height:86px;flex-basis:86px;border-radius:3px 9px 9px 3px;border-left-width:8px;padding-left:3px;box-shadow:2px 3px 0 #14364722;overflow:hidden}.dfk-rating-book::before{content:"";position:absolute;left:3px;top:5px;bottom:10px;border-left:1px solid currentColor;opacity:.3}.dfk-rating-book::after{content:"";position:absolute;left:2px;right:3px;bottom:3px;height:5px;border-block:1px solid #b7ad96;background:repeating-linear-gradient(to bottom,#fffdf5 0 1px,#d8d0bb 1px 2px);border-radius:0 3px 3px 0}.dfk-card-heading .dfk-rating-book .dfk-avatar-score{font-size:25px}.dfk-detail{height:auto!important;min-height:0!important;align-content:start!important;transform:none!important;transition:none!important}.dfk-detail>.dfk-detail-body{display:block;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;transform:none!important;transition:none!important}.dfk-detail .dfk-card-heading{position:static!important;height:auto!important;min-height:0!important;margin:0 0 18px!important;padding:0!important;transform:none!important;transition:none!important}.dfk-detail .dfk-card-heading>h2{height:auto!important;min-height:0!important;padding:0!important;margin:2px 0 0!important;transform:none!important}.dfk-detail .dfk-annotation{height:auto!important;min-height:0!important;margin:0 0 16px!important;padding:0!important;transform:none!important}.dfk-detail .dfk-annotation:empty{display:none!important}.dfk-detail .dfk-detail-body>p:empty,.dfk-library>p:empty{display:none!important}@media(max-width:640px){.dfk-card-heading .dfk-rating-book{width:55px;height:72px;flex-basis:72px;border-left-width:6px}.dfk-card-heading .dfk-rating-book .dfk-avatar-score{font-size:22px}}
