@charset "UTF-8";*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{font-family:Lora,Georgia,serif;background-color:#faf6ee;color:#2c1a0e;line-height:1.7;font-size:16px;padding:2rem;max-width:1200px;width:100%;margin:0 auto;box-sizing:border-box;overflow-x:hidden;background-image:repeating-linear-gradient(0deg,transparent,transparent 27px,rgba(92,61,30,.025) 27px,rgba(92,61,30,.025) 28px)}@media (max-width: 768px){body{padding:1.5rem}}@media (max-width: 600px){body{padding:.9rem;font-size:15px}}@media (max-width: 420px){body{padding:.65rem;font-size:14px}}header{display:flex;justify-content:space-between;align-items:center;padding-top:1.4rem;padding-bottom:1.4rem;margin-bottom:3.5rem;border-bottom:1px solid #E0CFA8;position:relative}header:after{content:"❧";position:absolute;bottom:-.9rem;left:50%;transform:translate(-50%);color:#9c7a3c;opacity:.45;font-size:1rem;background:#faf6ee;padding:0 .5rem}@media (max-width: 768px){header{flex-direction:column;gap:1rem;margin-bottom:2.5rem}}@media (max-width: 600px){header{flex-direction:column;gap:.8rem;margin-bottom:2rem;align-items:center}}.logo{font-family:Cormorant Garamond,Georgia,serif;font-size:2rem;font-weight:500;font-style:italic;letter-spacing:.5px;color:#5c3d1e;text-decoration:none;transition:color .3s ease}.logo:hover{color:#6b1a2a}@media (max-width: 768px){.logo{font-size:1.8rem}}@media (max-width: 600px){.logo{font-size:2rem}}@media (max-width: 420px){.logo{font-size:1.8rem}}nav ul{display:flex;list-style:none;gap:2.5rem}@media (max-width: 600px){nav ul{gap:1.8rem;justify-content:center;width:100%}}@media (max-width: 420px){nav ul{gap:1.4rem}}nav a{font-family:Lora,Georgia,serif;text-decoration:none;color:#5c3d1e;position:relative;font-size:.98rem;letter-spacing:.3px;transition:color .3s ease;padding:.3rem 0}nav a:after{content:"";position:absolute;bottom:-3px;left:0;width:0;height:1px;background-color:#6b1a2a;transition:width .3s ease}nav a:hover{color:#6b1a2a}nav a:hover:after{width:100%}nav a.active{color:#6b1a2a;font-weight:500}nav a.active:after{width:100%;background-color:#6b1a2a}@media (max-width: 600px){nav a{font-size:1.05rem;padding:.5rem 0}}@media (max-width: 420px){nav a{font-size:1rem}}.bibliotheque-main{display:grid;grid-template-columns:1fr;gap:3rem;overflow-x:hidden;width:100%;max-width:100%}@media (max-width: 600px){.bibliotheque-main{gap:2rem;width:100%}}.bibliotheque-intro{text-align:center;margin-bottom:3rem;padding:2rem 0 0}@media (max-width: 768px){.bibliotheque-intro{margin-bottom:2.5rem;padding:1.5rem 0 0}}@media (max-width: 600px){.bibliotheque-intro{margin-bottom:2rem;padding:1rem 0 0}}.bibliotheque-intro h1{font-family:Cormorant Garamond,Georgia,serif;font-size:3rem;font-weight:400;font-style:italic;margin-bottom:.8rem;color:#2c1a0e;line-height:1.15}@media (max-width: 768px){.bibliotheque-intro h1{font-size:2.6rem}}@media (max-width: 600px){.bibliotheque-intro h1{font-size:2.4rem}}@media (max-width: 420px){.bibliotheque-intro h1{font-size:2.1rem}}.bibliotheque-intro:after{content:"";display:block;width:60px;height:1px;background:#e0cfa8;margin:1rem auto 0}.bibliotheque-intro p{max-width:680px;margin:1.4rem auto 0;font-size:1.02rem;color:#5c3d1e;line-height:1.85}@media (max-width: 600px){.bibliotheque-intro p{font-size:1rem;padding:0 .5rem}}.filter-section{margin-bottom:2rem;padding:1.8rem 2rem;background-color:#f2e8d5;border-radius:4px;box-shadow:0 4px 20px #2c1a0e1a;border:1px solid #E0CFA8;width:100%;max-width:100%;box-sizing:border-box;background-image:repeating-linear-gradient(0deg,transparent,transparent 27px,rgba(92,61,30,.035) 27px,rgba(92,61,30,.035) 28px)}@media (max-width: 768px){.filter-section{padding:1.5rem;margin-bottom:1.8rem}}@media (max-width: 600px){.filter-section{padding:.8rem .9rem;margin-bottom:1.5rem;width:100%;max-width:100%;box-sizing:border-box}}@media (max-width: 420px){.filter-section{padding:.7rem .8rem}}.search-box{display:flex;gap:0;margin-bottom:1.4rem;width:100%;box-sizing:border-box}@media (max-width: 600px){.search-box{flex-direction:column;gap:.7rem;margin-bottom:1.2rem}}.search-box input{flex:1;padding:.75rem 1rem;border:1px solid #E0CFA8;border-right:none;border-radius:3px 0 0 3px;font-size:.97rem;font-family:Lora,Georgia,serif;background-color:#faf6ee;color:#2c1a0e;transition:border-color .25s ease;box-sizing:border-box;max-width:100%}.search-box input::placeholder{color:#8c7b6b;font-style:italic}.search-box input:focus{outline:none;border-color:#9c7a3c}@media (max-width: 600px){.search-box input{border-right:1px solid #E0CFA8;border-radius:3px;width:100%}}.search-box button{padding:.75rem 1.4rem;background-color:#6b1a2a;color:#faf6ee;border:1px solid #6B1A2A;border-radius:0 3px 3px 0;cursor:pointer;transition:background-color .25s ease;font-size:1rem;font-family:Lora,Georgia,serif;letter-spacing:.2px;box-sizing:border-box}.search-box button:hover{background-color:#4d1320}@media (max-width: 600px){.search-box button{border-radius:3px;width:100%;padding:.8rem}}.filter-options{display:flex;flex-wrap:wrap;gap:1.2rem;justify-content:space-between;width:100%;box-sizing:border-box}@media (max-width: 768px){.filter-options{gap:1rem}}@media (max-width: 600px){.filter-options{flex-direction:column;gap:.9rem}}.filter-group{display:flex;align-items:center;gap:.7rem;box-sizing:border-box;min-width:0}@media (max-width: 600px){.filter-group{width:100%;justify-content:space-between}}.filter-group label{font-family:Lora,Georgia,serif;font-weight:500;font-size:.92rem;color:#5c3d1e;letter-spacing:.2px}@media (max-width: 600px){.filter-group label{min-width:70px;flex-shrink:0}}.filter-group select{padding:.55rem .9rem;border:1px solid #E0CFA8;border-radius:3px;background-color:#faf6ee;color:#2c1a0e;font-size:.92rem;font-family:Lora,Georgia,serif;cursor:pointer;transition:border-color .25s ease;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;box-sizing:border-box;max-width:100%;min-width:0}.filter-group select:focus{outline:none;border-color:#9c7a3c}@media (max-width: 600px){.filter-group select{flex:1;width:100%;padding:.65rem .5rem;font-size:.9rem}}.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2rem;margin-bottom:2.5rem;width:100%;box-sizing:border-box}@media (max-width: 768px){.book-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}}@media (max-width: 600px){.book-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.5rem}}@media (max-width: 420px){.book-grid{grid-template-columns:repeat(2,1fr);gap:.6rem}}.book-card{background-color:#f2e8d5;border-radius:4px;overflow:hidden;box-shadow:0 6px 24px #2c1a0e1f;transition:transform .35s ease,box-shadow .35s ease;cursor:pointer;display:flex;flex-direction:column;border:1px solid #E0CFA8;position:relative}.book-card:after{content:"";position:absolute;bottom:0;right:0;width:0;height:0;border-style:solid;border-width:0 0 18px 18px;border-color:transparent transparent #E0CFA8 transparent;transition:border-width .3s ease;z-index:2}.book-card:hover{transform:translateY(-6px) rotate(-.2deg);box-shadow:0 14px 32px #2c1a0e2e}.book-card:hover:after{border-width:0 0 26px 26px}@media (max-width: 600px){.book-card{max-width:100%;box-shadow:0 4px 16px #2c1a0e21}}.book-cover{width:100%;aspect-ratio:2/3;display:block;object-fit:cover;object-position:center;overflow:hidden}.book-cover img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .5s ease}.book-cover:is(img){max-width:100%;transition:transform .4s ease}.book-info{padding:1.3rem 1.4rem;flex-grow:1;display:flex;flex-direction:column;background-image:repeating-linear-gradient(0deg,transparent,transparent 23px,rgba(92,61,30,.055) 23px,rgba(92,61,30,.055) 24px)}@media (max-width: 768px){.book-info{padding:.9rem 1rem}}@media (max-width: 600px){.book-info{padding:.55rem .65rem}}@media (max-width: 420px){.book-info{padding:.45rem .5rem}}.book-title{font-family:Cormorant Garamond,Georgia,serif;font-size:1.18rem;margin-bottom:.5rem;font-weight:500;font-style:italic;line-height:1.25;color:#2c1a0e;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media (max-width: 768px){.book-title{font-size:1.12rem}}@media (max-width: 600px){.book-title{font-size:.82rem;margin-bottom:.25rem}}@media (max-width: 420px){.book-title{font-size:.75rem}}.book-author{font-family:Lora,Georgia,serif;font-size:.88rem;color:#8c7b6b;margin-bottom:.5rem;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 768px){.book-author{font-size:.83rem}}@media (max-width: 600px){.book-author{font-size:.7rem;margin-bottom:.2rem}}@media (max-width: 420px){.book-author{font-size:.65rem}}.book-rating{margin-top:auto;color:#6b1a2a;font-size:.88rem;letter-spacing:.1px}.book-rating .fa-star{font-size:.85rem}@media (max-width: 600px){.book-rating{font-size:.68rem}.book-rating .fa-star{font-size:.65rem}}@media (max-width: 420px){.book-rating{font-size:.6rem}.book-rating .fa-star{font-size:.58rem}}.book-genre{display:inline-block;background-color:#6b1a2a17;color:#6b1a2a;border:1px solid rgba(107,26,42,.2);padding:.2rem .65rem;border-radius:20px;font-family:Lora,Georgia,serif;font-size:.78rem;margin-top:.65rem;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}@media (max-width: 600px){.book-genre{font-size:.62rem;padding:.1rem .4rem;margin-top:.3rem}}@media (max-width: 420px){.book-genre{font-size:.58rem;padding:.1rem .3rem}}.loading{text-align:center;padding:3rem 0;grid-column:1/-1;color:#8c7b6b;font-family:Lora,Georgia,serif;font-style:italic;font-size:1rem}@media (max-width: 600px){.loading{padding:2.5rem 0}}.spinner{width:40px;height:40px;border:3px solid #E0CFA8;border-radius:50%;border-top-color:#6b1a2a;margin:0 auto 1rem;animation:spin 1s linear infinite}@media (max-width: 600px){.spinner{width:34px;height:34px}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pagination{display:flex;justify-content:center;margin-top:2.5rem;gap:.4rem;flex-wrap:wrap}@media (max-width: 768px){.pagination{margin-top:2rem}}@media (max-width: 600px){.pagination{margin-top:1.8rem;gap:.35rem}}.pagination button{min-width:38px;height:38px;padding:0 .5rem;display:flex;align-items:center;justify-content:center;border:1px solid #E0CFA8;background:#faf6ee;color:#5c3d1e;font-family:Cormorant Garamond,Georgia,serif;font-size:1.1rem;cursor:pointer;border-radius:3px;transition:all .25s ease;letter-spacing:.2px}.pagination button:hover:not(.active){background:#6b1a2a17;border-color:#6b1a2a;color:#6b1a2a}.pagination button.active{background:#6b1a2a;color:#faf6ee;border-color:#6b1a2a;font-weight:600}@media (max-width: 600px){.pagination button{min-width:36px;height:36px;font-size:1rem}}.pagination-ellipsis{display:flex;align-items:center;padding:0 .3rem;color:#8c7b6b;font-family:Lora,Georgia,serif;font-size:.9rem}.book-modal{display:none;position:fixed;z-index:1001;left:0;top:0;width:100%;height:100%;background-color:#2c1a0ea6;overflow:auto;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.modal-content{background-color:#faf6ee;margin:4% auto;padding:2.5rem 3rem;border-radius:4px;width:82%;max-width:860px;box-shadow:0 8px 40px #2c1a0e40;border:1px solid #E0CFA8;animation:modalFade .3s ease;background-image:repeating-linear-gradient(0deg,transparent,transparent 27px,rgba(92,61,30,.035) 27px,rgba(92,61,30,.035) 28px)}@media (max-width: 768px){.modal-content{width:90%;padding:2rem 2.2rem;margin:5% auto}}@media (max-width: 600px){.modal-content{width:94%;padding:1.8rem 1.5rem;margin:6% auto;max-height:90vh;overflow-y:auto;border-radius:4px}}@keyframes modalFade{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.close-modal{color:#8c7b6b;float:right;font-size:2rem;font-weight:400;cursor:pointer;transition:color .3s ease;margin-top:-.4rem;margin-right:-.6rem;line-height:1}.close-modal:hover{color:#6b1a2a}@media (max-width: 600px){.close-modal{font-size:1.8rem}}.modal-book-content{display:flex;flex-direction:column;margin-top:1.8rem}@media screen and (min-width: 769px){.modal-book-content{flex-direction:row;gap:2.5rem}}.modal-book-cover{width:200px;height:300px;object-fit:cover;border-radius:3px;box-shadow:0 6px 24px #2c1a0e1f;margin-bottom:1.5rem;border:1px solid #E0CFA8;flex-shrink:0}@media (max-width: 768px){.modal-book-cover{width:180px;height:270px}}@media (max-width: 600px){.modal-book-cover{width:140px;height:210px;margin:0 auto 1.5rem}}.modal-book-details{flex:1}.modal-book-title{font-family:Cormorant Garamond,Georgia,serif;font-size:2rem;font-weight:400;font-style:italic;margin-bottom:.5rem;color:#2c1a0e;line-height:1.2}@media (max-width: 768px){.modal-book-title{font-size:1.7rem}}@media (max-width: 600px){.modal-book-title{font-size:1.5rem;text-align:center}}.modal-book-author{font-family:Lora,Georgia,serif;font-size:1rem;color:#8c7b6b;margin-bottom:1rem;letter-spacing:.2px}@media (max-width: 600px){.modal-book-author{text-align:center;font-size:.95rem}}.modal-book-rating{color:#6b1a2a;margin-bottom:1rem;font-size:1.1rem}@media (max-width: 600px){.modal-book-rating{text-align:center;font-size:1rem}}.modal-book-metadata{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem;margin-bottom:1.6rem;font-size:.93rem}@media (max-width: 600px){.modal-book-metadata{grid-template-columns:1fr;text-align:center;gap:.35rem;margin-bottom:1.4rem}}.metadata-label{font-weight:600;color:#8c7b6b;font-size:.88rem;letter-spacing:.2px}@media (max-width: 600px){.metadata-label{margin-top:.3rem}}.modal-book-review{margin-bottom:1.6rem}.modal-book-review h3{font-family:Cormorant Garamond,Georgia,serif;font-size:1.3rem;font-style:italic;font-weight:400;color:#2c1a0e;margin-bottom:.8rem}@media (max-width: 600px){.modal-book-review h3{text-align:center;font-size:1.2rem}}.modal-book-review p{font-family:Lora,Georgia,serif;line-height:1.8;color:#5c3d1e;font-size:.97rem}.modal-book-excerpt{background-color:#f2e8d5;padding:1.6rem;border-radius:4px;margin-bottom:1.6rem;border-left:2px solid #6B1A2A;border-top:1px solid #E0CFA8;border-right:1px solid #E0CFA8;border-bottom:1px solid #E0CFA8}.modal-book-excerpt h3{font-family:Cormorant Garamond,Georgia,serif;font-size:1.3rem;font-style:italic;font-weight:400;color:#2c1a0e;margin-bottom:.8rem}@media (max-width: 600px){.modal-book-excerpt h3{font-size:1.2rem;text-align:center}}.modal-book-excerpt blockquote{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;color:#5c3d1e;font-size:1.05rem;line-height:1.8;margin-bottom:1rem}.modal-book-excerpt blockquote:before{content:"“";color:#6b1a2a;font-size:1.4em;line-height:0;margin-right:.15em;vertical-align:-.3em}.modal-book-excerpt blockquote:after{content:"”";color:#6b1a2a;font-size:1.4em;line-height:0;margin-left:.15em;vertical-align:-.3em}@media (max-width: 600px){.modal-book-excerpt blockquote{font-size:1rem}}.modal-actions{display:flex;gap:1rem;margin-top:1rem}@media (max-width: 768px){.modal-actions{justify-content:center}}@media (max-width: 600px){.modal-actions{flex-direction:column;gap:.8rem}}.modal-actions button{padding:.65rem 1.6rem;border:1px solid;border-radius:20px;cursor:pointer;font-family:Lora,Georgia,serif;font-size:.9rem;letter-spacing:.2px;transition:all .25s ease}.modal-actions button:hover{transform:translateY(-2px)}.modal-actions button:active{transform:translateY(0)}@media (max-width: 600px){.modal-actions button{padding:.75rem 1.5rem;font-size:.93rem;border-radius:20px}}.modal-actions .add-to-list-btn{background-color:#6b1a2a;color:#faf6ee;border-color:#6b1a2a}.modal-actions .add-to-list-btn:hover{background-color:#4d1320;border-color:#4d1320}.modal-actions .view-more-btn{background-color:transparent;color:#5c3d1e;border-color:#e0cfa8}.modal-actions .view-more-btn:hover{background-color:#f2e8d5;border-color:#5c3d1e}.no-results{grid-column:1/-1;text-align:center;padding:3.5rem 0}@media (max-width: 600px){.no-results{padding:2.5rem 0}}.no-results h3{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-weight:400;color:#2c1a0e;font-size:1.8rem;margin-bottom:1rem}@media (max-width: 600px){.no-results h3{font-size:1.5rem;margin-bottom:.8rem}}.no-results p{color:#8c7b6b;margin-bottom:1.8rem;font-family:Lora,Georgia,serif;font-size:.97rem}@media (max-width: 600px){.no-results p{font-size:.93rem}}footer{margin-top:5rem;padding:2rem 0;text-align:center;border-top:1px solid #E0CFA8;color:#8c7b6b;font-family:Lora,Georgia,serif;font-size:.85rem;letter-spacing:.4px;position:relative}footer:before{content:"❦";display:block;font-size:1.1rem;color:#9c7a3c;opacity:.4;margin-bottom:.8rem}footer p{margin:0}@media (max-width: 768px){footer{margin-top:4rem;padding:1.8rem 0}}@media (max-width: 600px){footer{margin-top:3rem;font-size:.9rem}}
