/* German Made Easy — Library page */
:root{--gme-black:#000;--gme-red:#dd0000;--gme-gold:#ffce00;--lb-bg:#fffdf8;--lb-surface:#fff;--lb-soft:#f5f1e8;--lb-text:#090909;--lb-muted:#686868;--lb-line:rgba(0,0,0,.10);--lb-max:1240px}
html[data-theme="dark"]{--lb-bg:#090909;--lb-surface:#121212;--lb-soft:#1b1b1b;--lb-text:#f7f7f3;--lb-muted:#b5b5af;--lb-line:rgba(255,255,255,.12)}
.gme-library-page{background:var(--lb-bg);color:var(--lb-text);overflow:hidden}
.gme-library-container{width:min(var(--lb-max),calc(100% - 48px));margin:auto}
.gme-library-hero{min-height:560px;border-bottom:1px solid var(--lb-line);background:linear-gradient(115deg,var(--lb-bg) 0 54%,var(--lb-soft) 54%);display:flex;align-items:center}
.gme-library-hero__inner{min-height:560px;display:grid;grid-template-columns:minmax(0,1fr) 430px;align-items:center}
.gme-library-hero__content{z-index:2;max-width:650px;padding:70px 0}
.gme-library-eyebrow,.gme-library-section-label{display:inline-flex;align-items:center;gap:9px;color:var(--gme-red);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.gme-library-eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--gme-gold);box-shadow:0 0 0 4px rgba(255,206,0,.16)}
.gme-library-hero h1{margin:22px 0 20px;max-width:680px;font-family:Manrope,"DM Sans",sans-serif;font-size:clamp(42px,5vw,70px);line-height:.98;letter-spacing:-.055em}
.gme-library-hero h1 span{display:block;color:var(--gme-red)}
.gme-library-hero__content>p{max-width:590px;margin:0;color:var(--lb-muted);font-size:16px;line-height:1.75}
.gme-library-search{display:flex;align-items:center;width:min(100%,610px);height:62px;margin-top:30px;padding:6px;border:1px solid var(--lb-line);border-radius:14px;background:var(--lb-surface);box-shadow:0 18px 50px rgba(0,0,0,.07)}
.gme-library-search__icon{width:48px;text-align:center;font-size:26px;color:var(--lb-muted)}
.gme-library-search input{min-width:0;flex:1;height:100%;border:0;outline:0;background:transparent;color:var(--lb-text);font-size:14px}
.gme-library-search button{height:50px;padding:0 22px;border:0;border-radius:10px;background:var(--gme-red);color:#fff;font-size:13px;font-weight:800;cursor:pointer}
.gme-library-search button:hover{background:#bd0000}
.gme-library-hero__meta{display:flex;align-items:center;gap:12px;margin-top:20px;color:var(--lb-muted);font-size:11px;font-weight:600}
.gme-library-hero__meta strong{color:var(--lb-text)}.gme-library-hero__meta i{width:4px;height:4px;border-radius:50%;background:var(--gme-gold)}
.gme-library-hero__visual{position:relative;min-height:560px}
.gme-library-stack{position:absolute;z-index:2;width:300px;height:390px;left:55px;top:90px;transform:rotate(-3deg)}
.gme-library-book{position:absolute;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:7px;box-shadow:0 25px 45px rgba(0,0,0,.18)}
.gme-library-book--back{width:210px;height:310px;right:12px;top:15px;background:var(--gme-black);color:var(--gme-gold);transform:rotate(11deg)}
.gme-library-book--back:before{content:"";position:absolute;inset:0 0 auto;height:34%;background:var(--gme-red)}
.gme-library-book--back span{z-index:1;margin-top:150px;font-weight:900}
.gme-library-book--middle{width:215px;height:325px;left:40px;top:35px;background:var(--gme-gold);color:var(--gme-black);transform:rotate(-10deg)}
.gme-library-book--middle:after{content:"";position:absolute;left:0;top:0;width:18px;height:100%;background:var(--gme-red)}
.gme-library-book--middle span{font-weight:900}
.gme-library-book--front{width:225px;height:340px;left:48px;top:35px;z-index:3;flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:30px 25px;background:#fff;color:#000;transform:rotate(2deg)}
.gme-library-book--front:before,.gme-library-book--front:after{content:"";position:absolute;left:0;width:100%;height:14px}.gme-library-book--front:before{top:0;background:var(--gme-red)}.gme-library-book--front:after{bottom:0;background:#000}
.gme-library-book--front small{margin-top:12px;font-size:9px;font-weight:800;letter-spacing:.14em}.gme-library-book--front strong{margin-top:42px;font-family:Manrope,sans-serif;font-size:34px;line-height:.88}.gme-library-book--front span{margin-top:auto;color:var(--gme-red);font-size:8px;font-weight:900}
.gme-library-visual-circle{position:absolute;width:360px;height:360px;right:-60px;top:90px;border:1px solid rgba(221,0,0,.2);border-radius:50%}
.gme-library-visual-square{position:absolute;width:180px;height:180px;right:40px;bottom:40px;border:2px solid rgba(255,206,0,.7);transform:rotate(16deg)}
.gme-library-catalogue{padding:95px 0 110px}
.gme-library-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:42px}
.gme-library-toolbar h2{margin:10px 0 7px;font-family:Manrope,"DM Sans",sans-serif;font-size:clamp(30px,3vw,42px);line-height:1;letter-spacing:-.04em}
.gme-library-toolbar p{margin:0;color:var(--lb-muted);font-size:13px}
.gme-library-categories{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;max-width:620px}
.gme-library-categories a{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border:1px solid var(--lb-line);border-radius:999px;color:var(--lb-muted);background:var(--lb-surface);font-size:11px;font-weight:800}
.gme-library-categories a:hover{border-color:var(--gme-red);color:var(--gme-red)}
.gme-library-categories a.is-active{border-color:#000;background:#000;color:#fff}
html[data-theme="dark"] .gme-library-categories a.is-active{border-color:var(--gme-gold);background:var(--gme-gold);color:#000}
.gme-book-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.gme-book-card{overflow:hidden;border:1px solid var(--lb-line);border-radius:22px;background:var(--lb-surface);transition:.25s}
.gme-book-card:hover{transform:translateY(-7px);border-color:rgba(221,0,0,.22);box-shadow:0 22px 55px rgba(0,0,0,.1)}
.gme-book-card__cover{position:relative;display:block;aspect-ratio:4/4.9;overflow:hidden;background:var(--lb-soft)}
.gme-book-card__cover img{width:100%;height:100%;object-fit:cover;transition:.4s}
.gme-book-card:hover img{transform:scale(1.04)}
.gme-book-card__view{position:absolute;left:14px;right:14px;bottom:14px;display:flex;justify-content:space-between;padding:12px;border-radius:9px;background:rgba(0,0,0,.88);color:#fff;font-size:11px;font-weight:800;opacity:0;transform:translateY(7px);transition:.25s}
.gme-book-card:hover .gme-book-card__view{opacity:1;transform:none}.gme-book-card__view b{color:var(--gme-gold);font-size:16px}
.gme-book-placeholder{height:100%;display:flex;flex-direction:column;justify-content:center;padding:30px;background:linear-gradient(#000 0 33%,#dd0000 33% 66%,#ffce00 66%);color:#fff}
.gme-book-placeholder strong{font-size:42px;letter-spacing:-.06em}.gme-book-placeholder small{margin-top:7px;font-size:8px;font-weight:900;line-height:1.25;letter-spacing:.1em}
.gme-book-card__body{padding:21px 20px 19px}.gme-book-card__category{display:block;margin-bottom:9px;color:var(--gme-red);font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.gme-book-card h3{margin:0;font-family:Manrope,"DM Sans",sans-serif;font-size:16px;line-height:1.3}.gme-book-card h3 a:hover{color:var(--gme-red)}
.gme-book-card__author{margin:7px 0 0;color:var(--lb-muted);font-size:11px}
.gme-book-card__footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:19px;padding-top:15px;border-top:1px solid var(--lb-line)}
.gme-book-price{font-size:13px;font-weight:900}.gme-book-access{padding:6px 9px;border-radius:999px;background:rgba(255,206,0,.24);color:#000;font-size:9px;font-weight:900;text-transform:uppercase}
html[data-theme="dark"] .gme-book-access{color:var(--gme-gold)}.gme-book-card__footer>a{color:var(--lb-muted);font-size:11px;font-weight:800}.gme-book-card__footer>a:hover{color:var(--gme-red)}
.gme-library-empty{grid-column:1/-1;padding:75px 20px;border:1px dashed var(--lb-line);border-radius:22px;text-align:center}.gme-library-empty>strong{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 20px;border-radius:16px;background:#000;color:var(--gme-gold);box-shadow:inset 0 -7px 0 var(--gme-red)}.gme-library-empty h3{margin:12px 0 7px;font-family:Manrope,sans-serif;font-size:25px}.gme-library-empty p{margin:0;color:var(--lb-muted);font-size:13px}.gme-library-empty a{display:inline-block;margin-top:20px;color:var(--gme-red);font-size:12px;font-weight:900}
.gme-library-pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:55px}.gme-library-pagination a{padding:12px 15px;border:1px solid var(--lb-line);border-radius:10px;background:var(--lb-surface);font-size:11px;font-weight:800}.gme-library-pagination a:hover{border-color:var(--gme-red);color:var(--gme-red)}.gme-library-pagination span{color:var(--lb-muted);font-size:11px}.gme-library-pagination strong{color:var(--lb-text);font-size:14px}
@media(max-width:1050px){.gme-library-hero__inner{grid-template-columns:1fr 330px}.gme-library-stack{left:0;transform:scale(.88) rotate(-3deg)}.gme-book-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.gme-library-hero{background:var(--lb-bg)}.gme-library-hero__inner{grid-template-columns:1fr}.gme-library-hero__content{padding:75px 0 35px}.gme-library-hero__visual{min-height:330px}.gme-library-stack{left:50%;top:0;transform:translateX(-50%) scale(.78) rotate(-3deg)}.gme-library-visual-circle{left:50%;right:auto;top:5px;transform:translateX(-50%)}.gme-library-toolbar{display:block}.gme-library-categories{justify-content:flex-start;margin-top:25px}}
@media(max-width:680px){.gme-library-container{width:min(100% - 32px,var(--lb-max))}.gme-library-hero h1{font-size:43px}.gme-library-search{height:auto;flex-wrap:wrap}.gme-library-search input{height:48px}.gme-library-search button{width:100%;margin-top:4px}.gme-library-catalogue{padding:70px 0 80px}.gme-book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gme-book-card__body{padding:16px 14px}.gme-book-card h3{font-size:14px}.gme-book-card__footer{align-items:flex-start;flex-direction:column}}
@media(max-width:430px){.gme-book-grid{grid-template-columns:1fr}.gme-library-hero__visual{min-height:300px}}
