/* Écran Explorer adapté au catalogue dynamique ZuLib depuis la maquette Stitch. */
body.catalogue-route{display:flex;min-height:100dvh;justify-content:center;background:#f2f0ed;color:#1b1b1c;font-family:'Plus Jakarta Sans',sans-serif}
.catalogue-route>.topbar,.catalogue-route>.mobile-nav{display:none!important}
.catalogue-route .app-shell{display:block;width:100%;max-width:448px;min-height:100dvh;margin:0;background:#fcf9f8;box-shadow:0 10px 34px rgba(31,27,25,.08)}
.catalogue-route .sidebar{display:none!important}
.catalogue-route .main-content{display:block;width:100%;max-width:448px;min-height:100dvh;margin:0;padding:0 0 88px;background:#fcf9f8}
.explorer-stitch-shell{position:relative;width:100%;max-width:448px;min-height:max(884px,100dvh);margin:0 auto;padding-bottom:calc(90px + env(safe-area-inset-bottom));overflow-x:hidden;background:#fcf9f8;box-shadow:0 10px 34px rgba(31,27,25,.08)}
.catalogue-route .home-stitch-header{position:sticky;top:0;z-index:40;min-height:68px;margin:0;padding:16px 16px 12px;border-bottom:1px solid rgba(138,114,106,.2);background:rgba(252,249,248,.96);backdrop-filter:blur(14px)}
.explorer-stitch-main{min-height:calc(100dvh - 68px);padding:8px 16px 24px}
.explorer-heading{padding:4px 0 16px}
.explorer-heading-line{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.explorer-heading h1{margin:0;color:#1b1b1c;font-family:'Newsreader',serif;font-size:26px;font-weight:500;line-height:34px;letter-spacing:-.01em}
.explorer-heading-line>span{color:#57423b;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.explorer-heading>p{margin:2px 0 0;color:#57423b;font-size:13px;line-height:18px}
.explorer-search-section{margin-bottom:15px}
.explorer-search-form{display:flex;align-items:center;gap:8px;margin:0}
.explorer-search-box{position:relative;display:flex;min-width:0;flex:1;align-items:center}
.explorer-search-box>i{position:absolute;left:14px;color:#8a726a;font-size:19px;pointer-events:none}
.explorer-search-box input{width:100%;height:48px;padding:0 14px 0 44px;border:1px solid rgba(138,114,106,.34);border-radius:12px;outline:none;background:#fff;color:#1b1b1c;font-size:14px;line-height:22px;box-shadow:0 4px 16px -2px rgba(31,31,31,.04),0 2px 6px -1px rgba(200,90,50,.03);transition:border-color .15s,box-shadow .15s}
.explorer-search-box input::placeholder{color:#8a726a}
.explorer-search-box input:focus{border-color:#9f3c16;box-shadow:0 0 0 2px rgba(159,60,22,.12)}
.explorer-filter-trigger{display:flex;width:48px;height:48px;flex:none;align-items:center;justify-content:center;border:1px solid rgba(138,114,106,.34);border-radius:12px;background:#f6f3f2;color:#57423b;font-size:21px;cursor:pointer;transition:background .15s,transform .15s}
.explorer-filter-trigger:hover,.explorer-filter-trigger[aria-expanded=true]{background:#f0eded;color:#9f3c16}
.explorer-filter-trigger:active{transform:scale(.96)}
.explorer-advanced-filters{display:grid;grid-template-columns:1fr auto;align-items:end;gap:8px;margin-top:10px;padding:12px;border:1px solid rgba(138,114,106,.24);border-radius:12px;background:#f6f3f2}
.explorer-advanced-filters[hidden]{display:none}
.explorer-advanced-filters label{grid-column:1/-1;color:#57423b;font-size:11px;font-weight:600}
.explorer-advanced-filters select{min-width:0;height:40px;padding:0 10px;border:1px solid rgba(138,114,106,.35);border-radius:8px;background:#fff;color:#1b1b1c;font-size:12px}
.explorer-advanced-filters button{height:40px;padding:0 14px;border:0;border-radius:8px;background:#9f3c16;color:#fff;font-size:12px;font-weight:600;cursor:pointer}
.explorer-category-chips{display:flex;align-items:center;gap:8px;margin:0 -16px 18px;padding:2px 16px 4px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
.explorer-category-chips::-webkit-scrollbar{display:none}
.explorer-chip{display:inline-flex;min-height:36px;flex:none;align-items:center;padding:0 15px;border:1px solid rgba(138,114,106,.3);border-radius:999px;background:#f6f3f2;color:#57423b;font-size:12px;font-weight:500;text-decoration:none;transition:background .15s,color .15s,border-color .15s}
.explorer-chip:hover{background:#f0eded}
.explorer-chip.is-selected{border-color:#9f3c16;background:#9f3c16;color:#fff;box-shadow:0 2px 5px rgba(31,27,25,.08)}
.explorer-sort-toolbar{display:flex;min-height:42px;align-items:center;justify-content:space-between;gap:8px;margin:0 0 18px;padding:8px 10px;border:1px solid rgba(138,114,106,.2);border-radius:8px;background:#f6f3f2}
.explorer-sort-control,.explorer-language-count{display:flex;min-width:0;align-items:center;gap:5px;color:#57423b;font-size:10px;line-height:14px;white-space:nowrap}
.explorer-sort-control>i,.explorer-language-count>i:first-child{color:#9f3c16;font-size:13px}
.explorer-sort-control select{max-width:130px;padding:0;border:0;outline:0;background:transparent;color:#1b1b1c;font-size:10px;font-weight:700;text-overflow:ellipsis}
.explorer-language-count{color:#9f3c16;font-weight:600}
.explorer-language-count span{overflow:hidden;text-overflow:ellipsis}
.explorer-language-count>i:last-child{font-size:10px}
.explorer-editorial-card{position:relative;isolation:isolate;margin:0 0 23px;overflow:hidden;border-radius:12px;background:#bf542c;padding:18px 18px 15px;color:#fffbff;box-shadow:0 4px 12px rgba(87,35,15,.15)}
.explorer-editorial-glow{position:absolute;z-index:-1;right:-32px;bottom:-42px;width:148px;height:148px;border-radius:50%;background:rgba(159,60,22,.4);filter:blur(25px)}
.explorer-editorial-label{display:flex;align-items:center;gap:6px;margin-bottom:8px;color:#ffdcbe;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.explorer-editorial-label i{font-size:16px}
.explorer-editorial-content h2{max-width:340px;margin:0 0 6px;color:#fffbff;font-family:'Newsreader',serif;font-size:20px;font-weight:600;line-height:27px}
.explorer-editorial-content>p{max-width:365px;margin:0 0 13px;color:#ffdbcf;font-size:12px;line-height:18px}
.explorer-editorial-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:10px;border-top:1px solid rgba(255,181,156,.2)}
.explorer-editorial-footer>span,.explorer-editorial-footer>a{display:flex;align-items:center;gap:5px;font-size:10px;line-height:15px}
.explorer-editorial-footer>span{min-width:0;color:#fcf9f8}
.explorer-editorial-footer>span i{color:#aaf3c1;font-size:15px}
.explorer-editorial-footer>a{flex:none;color:#fff;font-size:11px;font-weight:700}
.explorer-editorial-footer>a i{font-size:15px}
.explorer-results{margin:0}
.explorer-results-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-bottom:12px}
.explorer-results-heading h2{margin:0;color:#1b1b1c;font-family:'Newsreader',serif;font-size:20px;font-weight:600;line-height:28px}
.explorer-results-heading p{margin:1px 0 0;color:#57423b;font-size:11px;line-height:16px}
.explorer-results-heading>a{flex:none;padding-bottom:3px;color:#9f3c16;font-size:10px;font-weight:600}
.explorer-book-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.explorer-book-card{display:flex;min-width:0;flex-direction:column;justify-content:space-between;padding:10px;border:1px solid rgba(138,114,106,.24);border-radius:12px;background:#fff;box-shadow:0 4px 16px -2px rgba(31,31,31,.04),0 2px 6px -1px rgba(200,90,50,.03)}
.explorer-book-main{min-width:0}
.explorer-cover{position:relative;display:block;width:100%;aspect-ratio:2/3;margin-bottom:8px;overflow:hidden;border:1px solid rgba(138,114,106,.2);border-radius:8px;background:#f0eded;box-shadow:inset 4px 0 8px -2px rgba(27,27,28,.22),0 6px 16px -4px rgba(31,31,31,.08)}
.explorer-cover>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.explorer-book-card:hover .explorer-cover>img{transform:scale(1.02)}
.explorer-cover-spine{position:absolute;inset:0 auto 0 0;width:8px;background:linear-gradient(90deg,rgba(0,0,0,.24),transparent);pointer-events:none}
.explorer-cover-placeholder{display:flex;width:100%;height:100%;flex-direction:column;justify-content:space-between;overflow:hidden;padding:12px 10px 10px 15px;border-left:4px solid #244634;background:linear-gradient(145deg,#476952,#244634);color:#fff9ef}
.explorer-cover-placeholder small{font-size:8px;letter-spacing:.15em}
.explorer-cover-placeholder strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:5;font:500 clamp(15px,5vw,20px)/1.1 'Newsreader',serif}
.explorer-cover-placeholder>span{overflow:hidden;color:rgba(255,249,239,.8);font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.explorer-book-category-row{display:flex;min-height:18px;align-items:center;margin-bottom:2px}
.explorer-book-category-row>span{max-width:100%;overflow:hidden;padding:3px 6px;border-radius:4px;background:#f0eded;color:#7a542c;font-size:9px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.explorer-book-card h3{margin:0 0 2px;overflow:hidden;color:#1b1b1c;font-family:'Newsreader',serif;font-size:16px;font-weight:600;line-height:20px;text-overflow:ellipsis;white-space:nowrap}
.explorer-book-author{margin:0 0 8px;overflow:hidden;color:#57423b;font-size:11px;line-height:16px;text-overflow:ellipsis;white-space:nowrap}
.explorer-book-footer{display:flex;min-height:27px;align-items:center;justify-content:space-between;gap:6px;padding-top:7px;border-top:1px solid rgba(138,114,106,.24)}
.explorer-book-availability{display:flex;min-width:0;align-items:center;gap:4px;color:#246b44;font-size:9px;font-weight:600;line-height:13px}
.explorer-book-availability i{flex:none;font-size:14px}
.explorer-book-footer form{margin:0}
.explorer-bookmark{display:flex;width:26px;height:26px;flex:none;align-items:center;justify-content:center;border:0;border-radius:6px;background:transparent;color:#8a726a;font-size:19px;cursor:pointer}
.explorer-bookmark:hover,.explorer-bookmark.is-saved{color:#9f3c16}
.explorer-bookmark:focus-visible,.explorer-chip:focus-visible,.explorer-load-more>a:focus-visible{outline:2px solid #9f3c16;outline-offset:2px}
.explorer-empty{padding:26px 16px;border:1px solid rgba(138,114,106,.24);border-radius:12px;background:#f6f3f2;text-align:center}
.explorer-empty>i{color:#9f3c16;font-size:28px}
.explorer-empty h3{margin:7px 0 4px;font-family:'Newsreader',serif;font-size:18px}
.explorer-empty p{margin:0;color:#57423b;font-size:12px;line-height:18px}
.explorer-load-more{padding:19px 0 3px;text-align:center}
.explorer-load-more>a{display:flex;min-height:46px;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(138,114,106,.55);border-radius:12px;background:#f6f3f2;color:#1b1b1c;font-size:12px;font-weight:600;transition:background .15s,color .15s,transform .15s}
.explorer-load-more>a:hover{background:#f0eded;color:#9f3c16}
.explorer-load-more>a:active{transform:scale(.98)}
.explorer-load-more>a i{color:#9f3c16;font-size:16px}
.explorer-load-more>p,.explorer-result-count{margin:8px 0 0;color:#8a726a;font-size:10px;line-height:15px;text-align:center}
.explorer-stitch-nav{position:fixed!important;z-index:50;bottom:0;left:50%!important;right:auto!important;display:flex;width:min(100vw,448px);max-width:448px;min-height:64px;align-items:center;justify-content:space-around;margin:0;padding:8px 8px calc(8px + env(safe-area-inset-bottom));transform:translateX(-50%)!important;border-top:1px solid rgba(138,114,106,.25);background:rgba(252,249,248,.97);box-shadow:0 -2px 10px rgba(31,27,25,.05);backdrop-filter:blur(14px)}
.explorer-stitch-nav>a{display:flex;min-width:0;flex:1 1 0;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:4px 3px;border-radius:12px;color:#57423b;text-align:center;text-decoration:none;white-space:nowrap;transition:color .15s,background .15s,transform .15s}
.explorer-stitch-nav>a i{font-size:24px;line-height:24px}
.explorer-stitch-nav>a span{font-size:11px;font-weight:500;line-height:14px}
.explorer-stitch-nav>a:hover{color:#9f3c16}
.explorer-stitch-nav>a:active{transform:scale(.95)}
.explorer-stitch-nav>a.is-active{background:rgba(255,219,207,.55);color:#9f3c16;font-weight:700}
@media(min-width:801px){.explorer-stitch-nav{bottom:12px;border:1px solid rgba(138,114,106,.25);border-radius:16px;box-shadow:0 5px 20px rgba(31,27,25,.12)}}
@media(max-width:360px){.explorer-heading-line>span{font-size:9px}.explorer-sort-toolbar{padding-right:7px;padding-left:8px}.explorer-sort-control{gap:3px;font-size:9px}.explorer-sort-control select{max-width:108px;font-size:9px}.explorer-language-count{gap:3px;font-size:9px}.explorer-book-card{padding:8px}.explorer-book-grid{gap:9px}}
@media(prefers-reduced-motion:reduce){.explorer-cover>img,.explorer-chip,.explorer-filter-trigger,.explorer-load-more>a{transition:none}}
