:root{--color-bg-primary:#fff;--color-bg-card:#fff;--color-text-dark:#3d113d;--color-text-muted:#666;--color-accent-pink:#e21a7a;--color-accent-pink-hover:#c11265;--color-accent-yellow:#fcd426;--color-cursive:#b73b75;--color-bg-dark:#fff;--font-main:"Montserrat", sans-serif;--font-title:"Playfair Display", serif;--font-cursive:"Dancing Script", cursive}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--color-bg-primary);color:var(--color-text-dark);min-height:100vh;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex}.app-container{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:1.25rem 2rem 2rem}.site-header{background:linear-gradient(105deg,#3d113d 0%,#5b174d 57%,#a41e62 100%);border:1px solid #e21a7a47;border-radius:18px;justify-content:space-between;align-items:center;gap:1rem;min-height:80px;margin-bottom:2.5rem;padding:.625rem 1rem .625rem 1.25rem;display:flex;box-shadow:0 10px 28px #3d113d29}.site-header .header h1,.site-header>h1{display:none}.header{text-align:center;flex-flow:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.logo-link{border-radius:12px;flex:none;align-items:center;transition:transform .2s;display:inline-flex}.logo-link:hover,.logo-link:focus-visible{transform:translateY(-2px)}.logo-link:focus-visible{outline:3px solid var(--color-accent-yellow);outline-offset:3px}.site-header img.logo{object-fit:contain;filter:drop-shadow(0 3px 6px #00000038);width:78px;height:54px;display:block}.navbar-content{color:#fff;flex-direction:column;flex:1;gap:.15rem;display:flex}.navbar-kicker{color:#ffd8e9;letter-spacing:.14em;text-transform:uppercase;font-size:.7rem;font-weight:700}.navbar-title{font-family:var(--font-title);font-size:1.45rem;font-weight:700;line-height:1.05}.home-link{color:#fff;border:1px solid #ffffff75;border-radius:999px;align-items:center;gap:.3rem;padding:.65rem .85rem;font-size:.8rem;font-weight:700;text-decoration:none;transition:background-color .2s,color .2s;display:inline-flex}.home-link:hover{color:var(--color-accent-pink);background:#fff}.home-link:focus-visible{outline:3px solid var(--color-accent-yellow);outline-offset:3px}.intro{text-align:center;max-width:820px;margin:0 auto 1.75rem}.eyebrow{color:var(--color-accent-pink);letter-spacing:.13em;text-transform:uppercase;margin-bottom:.4rem;font-size:.72rem;font-weight:800}.intro h1{font-family:var(--font-main);text-transform:uppercase;color:var(--color-text-dark);font-size:clamp(1.8rem,4vw,2.6rem);font-weight:900;line-height:1.1}.intro p:last-child{color:#654b62;margin:.9rem auto 0;font-size:1rem;line-height:1.7}.header h1{font-family:var(--font-main);text-transform:uppercase;color:#fff;background:var(--color-accent-pink);padding:.5rem 1rem;font-size:2.125rem;font-weight:900;display:inline-block;transform:rotate(-2deg);box-shadow:4px 4px #0003}.filters-container{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#e21a7a0a;border:1px solid #e21a7a1a;border-radius:12px;flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:12px;margin-bottom:3rem;padding:1.5rem;display:flex}.filter-input{min-width:200px;font-family:var(--font-main);color:#333;background:#fff;border:1px solid #e21a7a26;border-radius:8px;outline:none;flex:1;padding:.8rem 1rem;font-size:1rem;transition:all .3s}.filter-input:focus{border-color:var(--color-accent-pink);background-color:#fff;box-shadow:0 0 0 3px #e21a7a26}select.filter-input{cursor:pointer;appearance:none;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23333333%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);background-position:right 1rem top 50%;background-repeat:no-repeat;background-size:.65rem;padding-right:2.5rem}.books-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;padding-bottom:3rem;display:grid}.book-card{background-color:var(--color-bg-card);border:1px solid #e21a7a1a;border-radius:8px;flex-direction:column;transition:transform .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #3d113d0f}.book-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px #00000080}.book-tag{color:var(--color-accent-pink);z-index:10;background-color:#fdf0f5;border:1px solid #e21a7a33;border-radius:4px;padding:.3rem .6rem;font-size:.85rem;font-weight:700;position:absolute;top:1rem;right:1rem;box-shadow:2px 2px #e21a7a1a}.book-cover-container{aspect-ratio:2/3;background-color:#3a223e;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.book-cover{object-fit:cover;width:100%;height:100%;transition:transform .5s}.book-card:hover .book-cover{transform:scale(1.05)}.book-info{text-align:center;flex-direction:column;flex:1;padding:1.5rem;display:flex}.book-title{font-family:var(--font-title);margin-bottom:.5rem;font-size:1.25rem;font-weight:700;line-height:1.3}.book-divider{justify-content:center;align-items:center;margin:1rem 0;display:flex}.book-divider:before,.book-divider:after{content:"";background-color:#e21a7a26;width:40px;height:1px;margin:0 10px}.book-divider-icon{color:var(--color-accent-yellow);font-size:1rem}.book-author{font-family:var(--font-cursive);color:var(--color-cursive);flex:1;margin-bottom:1.5rem;font-size:1.8rem}.book-month{text-transform:uppercase;letter-spacing:1px;color:var(--color-text-muted);margin-bottom:.2rem;font-size:.9rem}.buy-button{background-color:var(--color-accent-pink);color:#fff;font-family:var(--font-main);cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:1rem;padding:.8rem 1rem;font-size:1rem;font-weight:700;text-decoration:none;transition:background-color .2s,transform .1s;display:flex}.buy-button:hover:not(:disabled){background-color:var(--color-accent-pink-hover)}.buy-button:active:not(:disabled){transform:scale(.98)}.buy-button:disabled{color:#888;cursor:not-allowed;background-color:#555}.footer{text-align:center;background-color:var(--color-bg-dark);color:var(--color-text-muted);border-top:1px solid #e21a7a1a;margin-top:auto;padding:2rem;font-size:.9rem}.footer a{color:var(--color-accent-pink);font-weight:700;text-decoration:none}.footer a:hover{text-decoration:underline}.no-results{text-align:center;color:var(--color-text-muted);grid-column:1/-1;padding:3rem;font-size:1.2rem}@media (width<=992px){.header h1{font-size:1.5rem}.header img.logo{max-width:92px}}@media (width<=768px){.site-header{min-height:72px;margin-bottom:2rem;padding:.5rem .75rem}.site-header img.logo{width:62px;height:48px}.navbar-title{font-size:1.2rem}.intro p:last-child{font-size:.95rem}.header h1{padding:.4rem .8rem;font-size:1.2rem}.header img.logo{max-width:76px}.filters-container{flex-direction:column;padding:1rem}.filter-input{width:100%;min-width:0}}@media (width<=600px){.app-container{padding:.75rem 1rem 1rem}.site-header{margin-bottom:1.6rem}.navbar-kicker{font-size:.62rem}.home-link{padding:.55rem .65rem;font-size:.72rem}.intro{margin-bottom:1.25rem}.intro h1{font-size:1.65rem}.header{flex-direction:column;margin-bottom:12px}.header h1{padding:.4rem .8rem;font-size:1rem;line-height:1.2}.header img.logo{max-width:76px}.books-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.book-info{padding:1rem}.book-title{font-size:1rem}.book-author{font-size:1.3rem}.book-tag{padding:.2rem .4rem;font-size:.7rem}.buy-button{padding:.6rem;font-size:.85rem}.buy-button svg{width:16px;height:16px}}
