@import url("https://fonts.googleapis.com/css2?family=Courier+Prime:ital,wght@0,400;0,700;1,400&family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,600;0,9..144,700;1,9..144,400&family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,600;0,8..60,700;1,8..60,400&display=swap");:root{--color-forest:#183d28;--color-forest-hover:#0f2b1a;--color-mustard:#f2c94c;--color-mustard-hover:#d4aa2e;--color-orange:#e85a2a;--color-orange-hover:#c9481f;--color-cream:#f7e9d2;--color-cream-light:#fdf5e8;--color-cream-card:#faf0dd;--color-paper:var(--color-cream);--color-paper-light:var(--color-cream-light);--color-paper-card:var(--color-cream-card);--color-ink:var(--color-forest);--color-ink-muted:#3a6b4a;--color-pine:var(--color-forest);--color-pine-hover:var(--color-forest-hover);--color-stamp-red:var(--color-orange);--color-stamp-red-hover:var(--color-orange-hover);--color-brass:var(--color-mustard);--color-cloth-brown:var(--color-forest);--color-border:#decfa0;--font-heading:"Fraunces",serif;--font-body:"Source Serif 4",Georgia,serif;--font-mono:"Courier Prime",monospace}*{box-sizing:border-box;margin:0;padding:0}body,html{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;max-width:100%;overflow-x:hidden;position:relative}body{background-color:var(--color-paper);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");color:var(--color-ink);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;color:var(--color-ink);line-height:1.25}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none}.btn-pine,button{font-family:var(--font-body)}.btn-pine{background-color:var(--color-pine);color:#fff;padding:10px 20px;border-radius:4px;font-weight:600;transition:background-color .2s ease,transform .1s ease;display:inline-flex;align-items:center;gap:8px}.btn-pine:hover{background-color:var(--color-pine-hover)}.btn-stamp{background-color:var(--color-stamp-red);color:#fff;padding:10px 20px;border-radius:4px;font-weight:600;font-family:var(--font-body);transition:background-color .2s ease,transform .1s ease;display:inline-flex;align-items:center;gap:8px}.btn-stamp:hover{background-color:var(--color-stamp-red-hover)}.btn-stamp:active{transform:scale(.98)}.btn-outline{border:1.5px solid var(--color-cloth-brown);color:var(--color-ink);padding:8px 16px;border-radius:4px;font-weight:600;transition:all .2s ease}.btn-outline:hover{background-color:rgba(107,88,71,.08)}.btn-wa{display:inline-flex;align-items:center;gap:8px;background-color:#25d366;color:#fff;padding:11px 20px;border-radius:6px;font-weight:700;font-family:var(--font-body);font-size:.95rem;text-decoration:none;transition:opacity .15s ease}.btn-wa:hover{opacity:.88;color:#fff}.btn-wa-outline{display:inline-flex;align-items:center;gap:8px;background-color:transparent;border:none;color:var(--color-ink-muted);padding:8px 0;border-radius:0;font-weight:600;font-family:var(--font-body);font-size:.88rem;text-decoration:underline;text-underline-offset:3px;-webkit-text-decoration-color:var(--color-border);text-decoration-color:var(--color-border);transition:color .15s ease,-webkit-text-decoration-color .15s ease;transition:color .15s ease,text-decoration-color .15s ease;transition:color .15s ease,text-decoration-color .15s ease,-webkit-text-decoration-color .15s ease;width:100%;justify-content:center}.btn-wa-outline:hover{color:#075e54;-webkit-text-decoration-color:#25d366;text-decoration-color:#25d366}.btn-paper{border:2px solid var(--color-cloth-brown);color:var(--color-ink);background-color:var(--color-paper-light);padding:10px 20px;border-radius:4px;font-weight:600;font-family:var(--font-body);display:inline-flex;align-items:center;gap:8px;transition:all .2s ease}.btn-paper:hover{background-color:var(--color-paper-card);border-color:var(--color-ink)}.shelf-strip{display:flex;gap:12px;overflow-x:auto;padding:12px 0;scrollbar-width:thin;scrollbar-color:var(--color-cloth-brown) transparent}.shelf-spine{flex:0 0 auto;padding:8px 16px;background-color:var(--color-paper-light);border:1px solid var(--color-border);border-radius:4px;font-family:var(--font-body);font-size:15px;color:var(--color-ink);white-space:nowrap;transition:all .2s ease}.shelf-spine.active,.shelf-spine:hover{background-color:var(--color-pine);color:var(--color-paper-light);border-color:var(--color-pine)}.due-date-card{background-color:var(--color-paper-card);border:2px dashed var(--color-cloth-brown);padding:16px;border-radius:4px;font-family:var(--font-mono);box-shadow:2px 3px 6px rgba(43,38,32,.08);position:relative;overflow:hidden}.due-date-header{border-bottom:1px solid var(--color-cloth-brown);padding-bottom:6px;margin-bottom:10px;color:var(--color-ink-muted);display:flex;justify-content:space-between}.due-date-header,.due-date-stamp{text-transform:uppercase;letter-spacing:1px;font-size:12px}.due-date-stamp{display:inline-block;border:2px solid var(--color-stamp-red);color:var(--color-stamp-red);padding:2px 8px;font-weight:700;transform:rotate(-3deg);border-radius:2px}.price-tag{font-family:var(--font-mono);font-weight:700;font-size:1.25rem;color:var(--color-ink)}.container{max-width:1200px;margin:0 auto;padding:0 20px}.book-card-item{transition:transform .18s ease,box-shadow .18s ease}.book-card-item:hover{transform:translateY(-3px);box-shadow:3px 6px 16px rgba(43,38,32,.14)!important}.sort-chip-row{display:flex;align-items:center;gap:6px;overflow-x:auto;white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;min-width:0;flex:1 1 auto;-webkit-overflow-scrolling:touch}.sort-chip-row::-webkit-scrollbar{display:none}.sort-chip{flex:0 0 auto;padding:5px 12px;border-radius:20px;border:1px solid var(--color-border);background-color:var(--color-paper-light);font-family:var(--font-body);font-size:.82rem;color:var(--color-ink);text-decoration:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease;white-space:nowrap}.sort-chip:hover{background-color:var(--color-cream-card);border-color:var(--color-ink-muted)}.sort-chip.active{background-color:var(--color-forest);border-color:var(--color-forest);color:#fff;font-weight:700}.price-tag-card{font-family:var(--font-mono);font-size:1.1rem;font-weight:700;letter-spacing:-.3px}.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:16px;gap:16px}.book-card-cover{position:relative;width:100%;height:170px;background-color:#ebe3d3;display:flex;align-items:center;justify-content:center;overflow:hidden}.book-card-body{padding:12px 14px 8px}.book-card-title{font-size:.95rem;font-family:var(--font-heading);color:var(--color-ink);line-height:1.3;margin:0 0 8px;height:2.5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.book-card-author{font-size:.75rem;color:var(--color-ink-muted);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.book-card-footer{padding:0 14px 12px}.book-card-btn{width:100%;padding:7px 10px;font-size:.8rem;justify-content:center;gap:6px;border-radius:4px}.book-gallery-card{background-color:var(--color-paper-card);border:2px solid var(--color-cloth-brown);border-radius:8px;padding:16px;text-align:center;box-shadow:0 4px 12px rgba(0,0,0,.06);position:relative}.book-gallery-frame{width:100%;aspect-ratio:2/3;border-radius:4px;overflow:hidden;box-shadow:0 8px 16px rgba(0,0,0,.15);background-color:#f0e8d8;position:relative}.gallery-counter-badge{left:8px;background:rgba(30,20,10,.75);color:#fff;font-family:var(--font-mono);font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:12px;pointer-events:none}.gallery-counter-badge,.gallery-zoom-btn{position:absolute;top:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2}.gallery-zoom-btn{right:8px;width:30px;height:30px;border-radius:50%;background:hsla(39,74%,92%,.92);color:var(--color-ink);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,transform .15s;box-shadow:0 1px 4px rgba(0,0,0,.18)}.gallery-zoom-btn:hover{background:#fff;transform:scale(1.1)}.gallery-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;background:rgba(30,20,10,.75);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:opacity .2s,background .15s,transform .15s;opacity:.85}.book-gallery-frame:hover .gallery-nav-btn{opacity:1}.gallery-nav-btn:hover{background:var(--color-pine);transform:translateY(-50%) scale(1.1)}.gallery-nav-prev{left:6px}.gallery-nav-next{right:6px}.gallery-dots-overlay{position:absolute;bottom:8px;left:0;right:0;display:flex;gap:6px;justify-content:center;align-items:center;z-index:2;pointer-events:auto}.gallery-dot{width:7px;height:7px;border-radius:50%;background:hsla(0,0%,100%,.5);border:1px solid rgba(0,0,0,.2);cursor:pointer;padding:0;transition:all .2s ease}.gallery-dot-active{background:var(--color-gold);width:18px;border-radius:4px}.gallery-thumbnail-strip{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;justify-content:center}.book-gallery-thumb{width:52px;height:78px;padding:0;border:1px solid var(--color-border);border-radius:4px;overflow:hidden;cursor:pointer;flex-shrink:0;opacity:.65;transition:opacity .15s,border-color .15s,transform .15s;background:none}.book-gallery-thumb:hover{opacity:.9}.book-gallery-thumb-active{border:2px solid var(--color-pine);opacity:1;box-shadow:0 2px 6px rgba(0,0,0,.12)}.gallery-lightbox-overlay{position:fixed;inset:0;background-color:rgba(15,20,15,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:9999;display:flex;flex-direction:column;justify-content:space-between;padding:16px 20px;animation:fadeInGallery .2s ease-out}.gallery-lightbox-topbar{display:flex;justify-content:space-between;align-items:center;color:#fff;width:100%;max-width:900px;margin:0 auto}.gallery-lightbox-title{font-family:var(--font-heading);font-size:1.15rem;display:flex;align-items:center;gap:8px}.gallery-lightbox-count{font-family:var(--font-mono);font-size:.85rem;color:var(--color-gold)}.gallery-lightbox-close{background:hsla(0,0%,100%,.15);color:#fff;border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}.gallery-lightbox-close:hover{background:hsla(0,0%,100%,.3)}.gallery-lightbox-content{position:relative;max-width:900px;max-height:72vh;margin:auto;display:flex;align-items:center;justify-content:center}.gallery-lightbox-img{max-width:100%;max-height:72vh;object-fit:cover;border-radius:6px;box-shadow:0 12px 32px rgba(0,0,0,.5);-webkit-user-select:none;-moz-user-select:none;user-select:none}.gallery-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.6);color:#fff;border:1px solid hsla(0,0%,100%,.2);width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,transform .15s}.gallery-lightbox-nav:hover{background:var(--color-pine);transform:translateY(-50%) scale(1.1)}.gallery-lightbox-prev{left:-24px}.gallery-lightbox-next{right:-24px}.gallery-lightbox-thumbs{display:flex;gap:10px;justify-content:center;max-width:900px;margin:0 auto;overflow-x:auto;padding:8px 0}.gallery-lightbox-thumb{width:48px;height:72px;border-radius:4px;overflow:hidden;padding:0;border:2px solid transparent;opacity:.6;cursor:pointer;background:none;flex-shrink:0;transition:all .15s}.gallery-lightbox-thumb img{width:100%;height:100%;object-fit:cover}.gallery-lightbox-thumb-active{border-color:var(--color-gold);opacity:1}@keyframes fadeInGallery{0%{opacity:0}to{opacity:1}}.guarantee-box{background-color:var(--color-paper-light);border:2px solid var(--color-cloth-brown);border-radius:8px;padding:16px;font-size:.85rem;line-height:1.5}.guarantee-mobile-only{display:none}.book-detail-title{font-size:2.2rem;font-family:var(--font-heading);line-height:1.2;margin-bottom:8px}.book-detail-author{font-size:1.05rem;color:var(--color-ink-muted);margin-bottom:14px}.book-detail-price{font-size:2.2rem;font-family:var(--font-mono);font-weight:700;color:var(--color-pine);margin-bottom:18px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.spin{animation:spin .8s linear infinite;display:inline-block}.book-section-heading{font-family:var(--font-heading);font-size:1.15rem;font-weight:700;color:var(--color-ink);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--color-border)}.book-description-section{margin-bottom:28px;position:relative}.book-desc-toggle-input{display:none}.book-description-clamp{max-height:5.5em;overflow:hidden;transition:max-height .35s ease;mask-image:linear-gradient(180deg,#000 60%,transparent);-webkit-mask-image:linear-gradient(180deg,#000 60%,transparent)}.book-desc-expand-label{display:inline-flex;align-items:center;gap:4px;cursor:pointer;color:var(--color-pine);font-size:.88rem;font-weight:600;text-decoration:underline;text-underline-offset:3px;margin-top:6px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.book-desc-toggle-input:checked~.book-description-clamp,.book-description-section:has(.book-desc-toggle-input:checked) .book-description-clamp{max-height:200em;mask-image:none;-webkit-mask-image:none}.book-description-section:has(.book-desc-toggle-input:checked) .book-desc-expand-label{display:none}.book-metadata-section{margin-bottom:24px}.book-metadata-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:0;gap:0}.book-meta-row{padding:10px 0;border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:3px}.book-meta-row:nth-child(odd){padding-right:24px}.book-meta-row:nth-child(2n){padding-left:12px}.book-meta-label{font-size:.78rem;color:var(--color-ink-muted);font-family:var(--font-body)}.book-meta-value{font-size:.92rem;color:var(--color-ink);font-weight:500;line-height:1.4}.similar-books-section{margin-top:48px;padding-top:28px;border-top:2px solid var(--color-border)}.similar-books-heading{font-family:var(--font-heading);font-size:1.35rem;color:var(--color-ink);margin-bottom:20px}.similar-books-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:16px;gap:16px}.similar-book-card-wrap{min-width:0}@media (max-width:768px){.grid-cart,.grid-catalog,.grid-checkout{grid-template-columns:1fr!important}.catalog-sidebar{display:none}.hero-grid{grid-template-columns:1fr!important}.header-inner{flex-wrap:wrap;gap:10px!important}.header-inner form{flex:1 1 100%!important;max-width:100%!important;width:100%!important;order:3;margin-top:4px}.header-nav{gap:10px!important}.address-grid-2,.address-grid-3,.admin-dashboard-grid,.book-form-grid-2,.book-form-grid-3{grid-template-columns:1fr!important}h1{font-size:1.6rem!important}h2{font-size:1.2rem!important}.header-logo-text{font-size:1.35rem!important}.book-card-grid,.book-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important}.book-card-item{min-width:0!important}.book-card-cover{height:125px!important}.book-card-body{padding:6px 8px 4px!important}.book-card-title{font-size:.82rem!important;height:2.1rem!important;line-height:1.25!important;margin-bottom:2px!important}.book-card-author{font-size:.65rem!important;margin-bottom:1px!important}.book-card-footer{padding:0 8px 8px!important}.book-card-btn{padding:5px 6px!important;font-size:.72rem!important;gap:4px!important}.price-tag-card{font-size:.92rem!important}.admin-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.book-detail-grid{grid-template-columns:1fr!important;gap:16px!important}.book-gallery-card{width:100%!important;max-width:100%!important;margin:0 0 8px!important;padding:0!important;border:none!important;background:transparent!important;box-shadow:none!important}.book-gallery-frame{width:100%!important;border-radius:8px!important;border:1px solid var(--color-border)}.gallery-thumbnail-strip{display:none!important}.book-gallery-thumb{width:44px!important;height:66px!important}.guarantee-desktop-only{display:none!important}.guarantee-mobile-only{display:block!important}.book-detail-title{font-size:1.45rem!important;margin-bottom:4px!important}.book-detail-author{font-size:.92rem!important;margin-bottom:8px!important}.book-detail-price{font-size:1.6rem!important;margin-bottom:12px!important}.checkout-summary-sticky{position:relative!important;top:auto!important}.similar-books-strip{display:flex!important;flex-direction:row!important;overflow-x:auto!important;gap:12px!important;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:8px}.similar-book-card-wrap{width:150px!important;flex:0 0 150px!important;scroll-snap-align:start}}.header-nav{display:flex;align-items:center;gap:16px}.header-nav-item{display:inline-flex;align-items:center;gap:6px;font-size:.95rem;font-weight:600;color:var(--color-paper);text-decoration:none;padding:6px 10px;border-radius:6px;transition:background-color .15s ease,opacity .15s ease}.header-nav-item:hover{background-color:hsla(0,0%,100%,.12);color:#fff}@media (max-width:480px){.container{padding:0 12px!important}.header-tagline{display:none}.header-nav-label{display:none!important}.header-nav{gap:4px!important}.header-nav-item{padding:6px 8px!important}.hero-section{padding:24px 0!important}.price-tag{font-size:1rem}}