
:root{
	--apl-granate:#89202B;
	--apl-granate-osc:#6F0016;
	--apl-crema:#F9F2E9;
	--apl-crema-blanca:#FDF7F1;
	--apl-borde:#D6CCC0;
	--apl-cuerpo:#4B4038;
	--apl-dorado:#C99A3E;
}
.apl-library{max-width:1180px;margin:0 auto;padding:24px}
.apl-library-tools{margin-bottom:26px}
.apl-library-search{width:100%;max-width:420px;padding:12px 16px;border:2px solid var(--apl-borde);border-radius:999px;font-size:16px}
.apl-library-search:focus{outline:3px solid rgba(137,32,43,.18);border-color:var(--apl-granate)}
.apl-library-filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.apl-library-filters button{padding:9px 17px;border-radius:999px;border:2px solid var(--apl-borde);background:var(--apl-crema-blanca);color:var(--apl-cuerpo);font-weight:700;cursor:pointer}
.apl-library-filters button:hover,.apl-library-filters button.is-active{background:var(--apl-granate);border-color:var(--apl-granate);color:#fff}
.apl-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:26px}
.apl-book-card{display:flex;flex-direction:column;background:var(--apl-crema-blanca);border:1px solid var(--apl-borde);border-radius:14px;overflow:hidden;box-shadow:0 10px 24px rgba(137,32,43,.08);transition:.2s}
.apl-book-card:hover{transform:translateY(-5px);box-shadow:0 16px 30px rgba(137,32,43,.17)}
.apl-book-cover{display:block;aspect-ratio:2/3;background:#eee;overflow:hidden}
.apl-book-cover img{width:100%;height:100%;object-fit:cover}
.apl-no-cover{display:flex;height:100%;align-items:center;justify-content:center}
.apl-book-info{padding:17px 18px 20px;display:flex;flex-direction:column;flex:1}
.apl-book-genre{margin:0 0 5px;font-size:.78rem;text-transform:uppercase;font-weight:700;color:#6C6158}
.apl-book-info h3{margin:0 0 3px;color:var(--apl-granate);font-size:1.25rem}
.apl-book-info h3 a{color:inherit;text-decoration:none}
.apl-book-author{margin:0 0 7px;font-weight:700}
.apl-book-rating{margin:0 0 10px;color:var(--apl-dorado);letter-spacing:2px}
.apl-book-excerpt{margin:0 0 14px;flex:1}
.apl-book-read{font-weight:800;color:var(--apl-granate);text-decoration:none}
.apl-empty{text-align:center}
.apl-single{max-width:920px;margin:40px auto;padding:0 24px;color:var(--apl-cuerpo)}
.apl-single-header{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:36px;align-items:start;margin-bottom:34px}
.apl-single-cover img{width:100%;border-radius:12px;box-shadow:0 16px 35px rgba(0,0,0,.15)}
.apl-single h1{margin:0 0 9px;color:var(--apl-granate);font-size:clamp(2rem,5vw,3.4rem)}
.apl-single-author,.apl-single-tax{font-size:1.05rem}
.apl-single-rating{font-size:1.35rem;color:var(--apl-dorado);letter-spacing:3px}
.apl-single-section{font-size:1.08rem;line-height:1.8;margin-top:28px}
.apl-single-section h2{color:var(--apl-granate);margin-bottom:12px}
.apl-single-box{margin-top:24px;padding:20px;border-left:5px solid var(--apl-granate);background:var(--apl-crema-blanca);border-radius:8px}
.apl-buy-button{display:inline-block;margin-top:20px;padding:12px 20px;border-radius:8px;background:var(--apl-granate);color:#fff!important;text-decoration:none;font-weight:800}
.apl-buy-button:hover{background:var(--apl-granate-osc)}
@media(max-width:700px){.apl-single-header{grid-template-columns:1fr}.apl-single-cover{max-width:290px;margin:0 auto}}
