@import"https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Source+Sans+3:wght@300;400;500;600&display=swap";:root{--color-cream: #fdf8f3;--color-warm-white: #fffaf5;--color-parchment: #f5ebe0;--color-tan: #d5c4a1;--color-caramel: #c9a66b;--color-brown: #8b7355;--color-dark-brown: #5c4934;--color-espresso: #3d2f1f;--color-burgundy: #722f37;--color-sage: #87947b;--font-serif: "Lora", Georgia, "Times New Roman", serif;--font-sans: "Source Sans 3", system-ui, -apple-system, sans-serif;--shadow-soft: 0 4px 20px rgba(93, 73, 52, .1);--shadow-card: 0 8px 30px rgba(93, 73, 52, .12);--shadow-hover: 0 12px 40px rgba(93, 73, 52, .18);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--color-cream);color:var(--color-espresso);margin:0;padding:0;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.catalog-page{min-height:100vh;display:flex;flex-direction:column}.hero{background:linear-gradient(135deg,var(--color-parchment) 0%,var(--color-warm-white) 50%,var(--color-cream) 100%);padding:4rem 2rem;text-align:center;border-bottom:1px solid var(--color-tan);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 80%,rgba(201,166,107,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(114,47,55,.05) 0%,transparent 50%);pointer-events:none}.hero-content{position:relative;z-index:1;max-width:800px;margin:0 auto}.hero-title{font-family:var(--font-serif);font-size:clamp(2.5rem,8vw,4.5rem);font-weight:600;color:var(--color-dark-brown);margin:0 0 1rem;letter-spacing:-.02em;text-transform:none;line-height:1.1;max-width:none}.hero-tagline{font-family:var(--font-serif);font-size:clamp(1.1rem,3vw,1.5rem);font-weight:400;font-style:italic;color:var(--color-brown);margin:0;max-width:none}.catalog-container{flex:1;padding:3rem 2rem;max-width:1400px;margin:0 auto;width:100%}.catalog-section{margin-bottom:3rem}.section-title{font-family:var(--font-serif);font-size:1.75rem;font-weight:500;color:var(--color-dark-brown);text-align:center;margin:0 0 2.5rem;position:relative;text-transform:none;max-width:none;line-height:1.3}.section-title:after{content:"";display:block;width:60px;height:2px;background:linear-gradient(90deg,var(--color-caramel),var(--color-burgundy));margin:.75rem auto 0;border-radius:1px}.book-grid{display:flex;flex-direction:column;gap:.75rem}@media(min-width:640px){.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:2rem;justify-items:center}}.book-card{display:flex;flex-direction:row;align-items:stretch;gap:0;text-decoration:none;background:var(--color-warm-white);border-radius:var(--radius-md);overflow:hidden;box-shadow:0 2px 8px #5d493414;transition:transform .15s ease,box-shadow .15s ease;cursor:pointer;width:100%;padding:.75rem}.book-card:active{transform:scale(.985);box-shadow:0 1px 4px #5d49341a}@media(min-width:640px){.book-card{flex-direction:column;max-width:280px;padding:0;border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.book-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-hover)}.book-card:active{transform:translateY(-8px) scale(1);box-shadow:var(--shadow-hover)}}.book-cover{position:relative;flex-shrink:0;width:85px;height:115px;overflow:hidden;background:var(--color-parchment);border-radius:var(--radius-sm)}@media(min-width:640px){.book-cover{width:100%;height:auto;aspect-ratio:2 / 3;border-radius:0}}.book-cover img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}@media(min-width:640px){.book-card:hover .book-cover img{transform:scale(1.05)}}.book-info{flex:1;display:flex;flex-direction:column;justify-content:center;padding:0 0 0 .875rem;min-width:0;background:transparent;text-align:left}@media(min-width:640px){.book-info{padding:1.25rem;text-align:center;background:linear-gradient(to bottom,var(--color-warm-white),var(--color-cream))}}.book-title{font-family:var(--font-serif);font-size:.95rem;font-weight:600;color:var(--color-dark-brown);margin:0 0 .25rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(min-width:640px){.book-title{font-size:1.1rem;margin:0 0 .5rem;line-height:1.3}}.book-author{font-family:var(--font-sans);font-size:.8rem;font-weight:400;color:var(--color-brown);margin:0 0 .625rem;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(min-width:640px){.book-author{font-size:.9rem;margin:0 0 .75rem;white-space:normal}}.book-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:auto}.book-price{font-family:var(--font-sans);font-size:.95rem;font-weight:700;color:var(--color-burgundy)}.book-condition-badge{display:inline-block;padding:.175rem .4rem;background:var(--color-sage);color:#fff;font-size:.65rem;font-weight:600;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.02em}@media(min-width:640px){.book-price{font-size:1.1rem}.book-meta{display:block;margin-top:0}.book-condition-badge{display:none}}.catalog-footer{background:var(--color-parchment);padding:2rem;text-align:center;border-top:1px solid var(--color-tan)}.catalog-footer p{font-family:var(--font-serif);font-style:italic;color:var(--color-brown);margin:0;font-size:1rem;max-width:none}nav.bg-gray-800{background:var(--color-dark-brown)!important;font-family:var(--font-sans)}nav a{margin-right:0}nav a:hover{color:var(--color-caramel)!important}a{margin-right:1rem}main{text-align:center;padding:1em;margin:0 auto}main>h1{color:#335d92;text-transform:uppercase;font-size:4rem;font-weight:100;line-height:1.1;margin:4rem auto;max-width:14rem}main>p{max-width:14rem;margin:2rem auto;line-height:1.35}@media(min-width:480px){main>h1{max-width:none}main>p{max-width:none}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.loading-skeleton{background:linear-gradient(90deg,var(--color-parchment) 0%,var(--color-cream) 50%,var(--color-parchment) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}
