@import "https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap";:root{--bg-color:#fff;--bg-primary:#1322ab;--primary-color:#0a1aa8;--primary-a80:#0a1aa8cc;--secondary-color:#067e3a;--caption-color:#9cafb7;--green-color:#036d19;--green-hover:#d4ff00;--green-a80:#036d19cc;--red-color:#e15554;--white-color:#fff;--black-color:#000;--black-a80:#000c;--gray-color:#ccc;--gray-light:#f8fafc;--shadow-sm:0 4px 10px #0000001a;--shadow-md:0 10px 30px #00000014;--shadow-lg:0 4px 6px -1px #0000001a, 0 10px 40px -5px #0000001f}*,:before,:after{box-sizing:border-box}*{font:inherit;margin:0;padding:0}img,picture,svg,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}html{background-color:var(--bg-color)}:root{--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:2.5rem;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-full:9999px;--breakpoint-sm-mobile:480px;--breakpoint-lg-mobile:768px;--breakpoint-tablet:1024px;--breakpoint-desktop:1200px;--fs-h1:31px;--fs-h2:25px;--fs-h3:20px;--fs-h4:18px;--fs-body:16px;--fs-label:16px;--fs-caption:13px;--fs-caption-sm:11px;--fw-light:300;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700}body{font-family:Poppins,sans-serif}h1,h2,h3,h4{font-weight:var(--fw-bold)}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}h4{font-size:var(--fs-h4)}.caption{font-size:var(--fs-caption);color:var(--caption-color)}.header{border-bottom:1px solid var(--border-light);flex-direction:row;justify-content:center;align-items:center;gap:0;display:flex}.header-inner{grid-template-columns:1fr auto 1fr;align-items:center;width:100%;max-width:1400px;padding:10px 20px;display:grid}.logo{aspect-ratio:1;width:65px;height:65px}.main-nav{gap:40px;display:none}@media (width>=768px){.main-nav{display:flex}}.user-nav{display:none}@media (width>=768px){.user-nav{justify-content:flex-end;align-items:center;gap:var(--spacing-lg);flex-direction:row;display:flex}}.nav-link{font-size:var(--fs-body);font-weight:var(--fw-regular);color:var(--black-color);transition:opacity .15s}.nav-link:hover{opacity:.7}.nav-link.active{font-weight:var(--fw-semibold);border-bottom:2px solid var(--black-color)}.footer{display:none}@media (width>=768px){.footer{display:flex}}.footer{border-top:1px solid var(--border-light);justify-content:center}.footer-inner{grid-template-columns:1fr auto 1fr;align-items:center;width:100%;max-width:1400px;padding:20px;display:grid}.footer-copy{font-size:var(--fs-caption);font-weight:var(--fw-bold)}.footer-socials{justify-content:flex-end;align-items:center;gap:var(--spacing-md);flex-direction:row;display:flex}.social-button{aspect-ratio:1;background-color:var(--white-color);width:60px;height:60px;box-shadow:var(--shadow-lg);border-radius:50%;flex-direction:row;justify-content:center;align-items:center;gap:0;display:flex}.social-button:hover{background-color:var(--green-hover);cursor:pointer}.social-link{width:100%;height:100%;color:var(--black-color);flex-direction:row;justify-content:center;align-items:center;gap:0;transition:opacity .15s;display:flex}.btn{justify-content:center;align-items:center;gap:var(--spacing-sm);min-width:30px;min-height:30px;max-height:50px;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--fs-label);cursor:pointer;flex-direction:row;transition:all .2s ease-in-out;display:flex}.btn--active{pointer-events:none}.btn--full-width{width:100%}.btn--no-padding{padding:0}.btn-icon{flex-direction:row;flex-shrink:0;justify-content:center;align-items:center;gap:0;display:flex}.btn-icon svg{width:30px;height:30px}.btn--straight{border-radius:0}.btn--rounded{border-radius:var(--radius-full)}.btn--circle{border-radius:50%}.btn--primary{background-color:var(--primary-color);color:var(--white-color);border:2px solid #0000}.btn--primary:hover{background-color:var(--primary-a80)}.btn--secondary{background-color:var(--secondary-color);color:var(--white-color);border:2px solid #0000}.btn--secondary:hover{background-color:var(--green-a80)}.btn--dark{background-color:var(--black-color);color:var(--white-color);border:2px solid #0000}.btn--dark:hover{background-color:var(--black-a80)}.btn--transparent{color:var(--gray-color);background-color:#0000;border:2px solid #0000}.btn--transparent:hover{color:var(--black-color)}.btn--disabled{cursor:not-allowed;opacity:.9;color:var(--gray-color)!important;background-color:#0000!important;border-color:#0000!important}.input-wrapper{justify-content:flex-start;align-items:stretch;gap:var(--spacing-xs);flex-direction:column;display:flex}.input-wrapper--full-width{width:100%}.input-wrapper--error .input-container{border-color:var(--red-color)}.input-wrapper--error .input-helper-text{color:var(--red-color)}.input-label{width:100%;font-size:var(--fs-label);font-weight:var(--fw-medium);color:var(--black-color)}.input-container{background-color:var(--white-color);border:1px solid var(--gray-color);border-radius:5px;flex-direction:row;justify-content:center;align-items:center;gap:0;width:100%;transition:border-color .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.input-container:hover,.input-container:focus-within{border-color:var(--black-color)}.input-container--disabled{background-color:var(--gray-light);cursor:not-allowed}.input-container--with-icon-left .input-field{padding-left:10px}.input-container--with-icon-right .input-field{padding-right:10px}.input-field{width:100%;min-height:40px;font-size:var(--fs-body);font-weight:var(--fw-regular);color:var(--black-color);border:none;outline:none;flex:1;padding:10px}.input-field::placeholder{color:var(--gray-color);opacity:.8}.input-field:disabled{cursor:not-allowed;color:var(--gray-color)}.input-icon{color:var(--gray-color);flex-direction:row;justify-content:center;align-items:center;gap:0;display:flex}.input-icon--clickable{cursor:pointer;transition:color .2s}.input-icon--clickable:hover{color:var(--black-color)}.input-icon svg{width:20px;height:20px}.input-icon--left{padding-left:10px}.input-icon--right{padding-right:10px}.input-footer{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:0;min-height:18px;display:flex}.input-helper-text{font-family:var(--font-family,"Poppins", sans-serif);color:var(--gray-color);flex:1;font-size:12px;font-weight:400}.input-counter{font-family:var(--font-family,"Poppins", sans-serif);color:var(--gray-color);text-align:right;margin-left:12px;font-size:12px;font-weight:400}.mobile-navbar{height:100px;padding:var(--spacing-sm);background-color:var(--white-color);border-top:1px solid var(--gray-color);flex-direction:row;justify-content:center;align-items:center;gap:0;display:flex;position:fixed;bottom:0;left:0;right:0}@media (width>=768px){.mobile-navbar{display:none}}.mobile-navbar-inner{justify-content:center;align-items:center;gap:var(--spacing-lg);border:1px solid var(--gray-color);border-radius:var(--radius-full);box-shadow:var(--shadow-lg);padding:var(--spacing-sm) var(--spacing-md);flex-direction:row;display:flex}.book-card{justify-content:flex-start;align-items:stretch;gap:var(--spacing-sm);cursor:pointer;flex-direction:column;width:100%;transition:transform .2s;display:flex}.book-card:hover{transform:translateY(-4px)}.book-card:hover .book-card-image-wrapper{box-shadow:var(--shadow-lg)}.book-card-image-wrapper{aspect-ratio:2/3;background-color:var(--gray-light);border-radius:12px;width:100%;transition:box-shadow .2s;position:relative;overflow:hidden}.book-card-image{object-fit:cover;width:100%;height:100%}.book-card-badge{padding:var(--spacing-xs) 10px;border-radius:var(--radius-full);font-size:var(--fs-caption-sm);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.5px;position:absolute;top:12px;left:12px}.book-card-badge--available{background-color:var(--white-color);color:var(--black-color)}.book-card-badge--unavailable{background-color:var(--white-color);color:var(--gray-color)}.book-card-wishlist{position:absolute;bottom:16px;right:16px}.book-card-content{justify-content:flex-start;align-items:stretch;gap:var(--spacing-xs);padding:0 var(--spacing-xs);flex-direction:column;display:flex}.book-card-title{font-size:var(--fs-body);font-weight:var(--fw-bold);color:var(--black-color);line-height:1.3}.book-card-authors{font-size:var(--fs-caption);color:var(--caption-color);margin-bottom:2px}.book-card-category{font-size:var(--fs-caption-sm);font-weight:var(--fw-semibold);color:var(--primary-color);text-transform:uppercase;margin-top:var(--spacing-xs)}.layout{grid-template-rows:auto 1fr auto;width:100%;min-height:100dvh;display:grid}.main-content{flex-direction:row;justify-content:center;align-items:center;gap:0;padding-bottom:100px;display:flex}@media (width>=768px){.main-content{padding-bottom:0}footer{display:none}}.auth-form-container{justify-content:flex-start;align-items:stretch;gap:var(--spacing-lg);box-shadow:var(--shadow-lg);border-radius:24px;flex-direction:column;max-width:343px;padding:30px;display:flex}.auth-form{justify-content:flex-start;align-items:stretch;gap:var(--spacing-lg);flex-direction:column;display:flex}.auth-form-header{justify-content:center;align-items:center;gap:var(--spacing-xs);flex-direction:column;display:flex}.auth-form-title{font-size:var(--fs-h1);font-weight:var(--fw-bold);text-align:center;line-height:1.2}.auth-form-subtitle{font-size:var(--fs-h4);text-align:center}.auth-form-inputs,.auth-form-group{justify-content:flex-start;align-items:stretch;gap:var(--spacing-sm);flex-direction:column;display:flex}.auth-form-footer{font-size:var(--fs-body);text-align:center}.auth-form-link{font-weight:var(--fw-bold);color:var(--black-color)}.auth-form-link:hover{opacity:.6}.main{flex-direction:row;flex:1;justify-content:center;align-items:center;gap:0;display:flex}.search-page{justify-content:flex-start;align-items:stretch;gap:var(--spacing-xl);padding:var(--spacing-lg);flex-direction:column;width:100%;max-width:1200px;margin:0 auto;display:flex}.search-page-header{justify-content:flex-start;align-items:center;gap:var(--spacing-md);flex-direction:column;display:flex}.search-page-searchbar{width:100%;max-width:500px}.search-page-filters{justify-content:center;align-items:center;gap:var(--spacing-sm);flex-flow:wrap;display:flex}.search-page-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));width:100%;display:grid}@media (width>=768px){.search-page-grid{gap:var(--spacing-xl);grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}.book-info{justify-content:flex-start;align-items:stretch;gap:var(--spacing-lg);width:100%;max-width:1200px;padding:var(--spacing-lg);flex-direction:column;display:flex}.book-info-topbar{flex-direction:row;justify-content:flex-start;align-items:center;gap:0;display:flex}.book-info-back{width:40px;height:40px;color:var(--black-color);font-size:var(--spacing-lg);flex-direction:row;justify-content:center;align-items:center;gap:0;transition:transform .2s;display:flex}.book-info-back:hover{transform:translate(-4px)}.book-info-container{justify-content:flex-start;align-items:center;gap:var(--spacing-xl);flex-direction:column;display:flex}@media (width>=768px){.book-info-container{gap:var(--spacing-2xl);grid-template-columns:1fr 1.5fr;align-items:start;display:grid}}.book-info-left{justify-content:flex-start;align-items:stretch;gap:var(--spacing-lg);flex-direction:column;max-width:400px;display:flex}.book-info-image-wrapper{aspect-ratio:2/3;border-radius:var(--radius-lg);background-color:var(--gray-color);width:100%;box-shadow:var(--shadow-md);position:relative;overflow:hidden}.book-info-image{object-fit:cover;width:100%;height:100%}.book-info-wishlist{transition:all .2s;position:absolute;bottom:16px;right:16px}.book-info-stats{background-color:var(--gray-light);border-radius:var(--radius-md);padding:var(--spacing-md) 20px;flex-direction:row;justify-content:space-around;align-items:center;gap:0;display:flex}.book-info-stats .stat-item{justify-content:center;align-items:center;gap:var(--spacing-xs);flex-direction:column;display:flex}.book-info-stats .stat-value{font-size:var(--fs-h4);font-weight:var(--fw-bold);color:var(--black-color)}.book-info-stats .stat-label{font-size:var(--fs-caption-sm);font-weight:var(--fw-medium);color:var(--caption-color);text-transform:uppercase}.book-info-stats .stat-divider{width:1px;height:var(--spacing-xl);background-color:var(--gray-color)}.book-info-right{justify-content:flex-start;align-items:stretch;gap:var(--spacing-md);flex-direction:column;display:flex}.book-info-badges{justify-content:flex-start;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);flex-direction:row;display:flex}.book-info-badges .badge{background-color:var(--gray-light);color:var(--black-color);font-size:11px;font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:6px 12px}.book-info-title{font-size:var(--fs-h1);font-weight:var(--fw-bold);color:var(--black-color);line-height:1.2}.book-info-authors{font-size:var(--fs-h4);color:var(--caption-color);margin-bottom:var(--spacing-md)}.book-info-description{font-size:var(--fs-body);color:var(--text-secondary);line-height:1.6}.book-info-action-bar{justify-content:space-between;align-items:center;gap:var(--spacing-md);width:100%;height:100px;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--gray-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:row;display:flex;position:fixed;bottom:0;left:0;right:0}@media (width>=768px){.book-info-action-bar{position:sticky;bottom:20px}}.book-info-action-bar .action-bar-info{justify-content:flex-start;align-items:stretch;gap:var(--spacing-xs);flex-direction:column;display:flex}.book-info-action-bar .action-label{font-size:var(--fs-caption);color:var(--caption-color);font-weight:var(--fw-medium)}.book-info-action-bar .action-value{font-size:var(--fs-body);font-weight:var(--fw-bold);color:var(--black-color)}.showcase{width:100%;padding:40px}.showcase h1{text-align:center;margin-bottom:40px}.showcase-grid{gap:var(--spacing-lg);grid-template-columns:repeat(4,1fr);display:grid}.showcase-col{gap:var(--spacing-md);padding:var(--spacing-lg);border-radius:var(--radius-md);background-color:var(--gray-light);flex-direction:column;align-items:center;display:flex}.showcase-col--dark-bg{background-color:var(--white-color);border:1px dashed var(--gray-color)}
