:root{--bg: #f5e6d3;--ink: #2c1810;--muted: #6b5a4a;--accent: #7a1f2b;--card: #fffaf3}*{box-sizing:border-box}body{margin:0;font-family:Georgia,Times New Roman,serif;background:var(--bg);color:var(--ink)}.page{max-width:1100px;margin:0 auto;padding:2rem 1.5rem 4rem}.hero{text-align:center;padding:1rem 0 2rem;border-bottom:1px solid rgba(44,24,16,.15);margin-bottom:2.5rem;position:relative}.lang-selector{position:absolute;top:.5rem;right:0;display:flex;align-items:center;gap:.4rem;font-size:.85rem}.lang-btn{background:none;border:none;color:var(--muted);font-family:inherit;font-size:inherit;cursor:pointer;padding:.15rem .25rem}.lang-btn:hover{color:var(--ink)}.lang-btn.active{color:var(--accent);font-weight:700}.lang-sep{color:var(--muted)}.subtitle{color:var(--muted);font-style:italic;margin:0 0 1.25rem}.nav{display:flex;gap:1.5rem;justify-content:center;margin-top:.5rem}.nav-link{color:var(--muted);text-decoration:none;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;padding-bottom:.25rem;border-bottom:2px solid transparent}.nav-link:hover{color:var(--ink)}.nav-link.active{color:var(--accent);border-bottom-color:var(--accent)}.search-form{margin:1.25rem auto 0;max-width:360px}.search-input{width:100%;padding:.5rem .85rem;font-family:inherit;font-size:.95rem;background:var(--card);border:1px solid rgba(44,24,16,.2);color:var(--ink)}.search-input:focus{outline:none;border-color:var(--accent)}.search-page{max-width:1100px;margin:0 auto}.search-page h2{font-size:1.4rem;margin:0 0 1rem;text-align:center}.search-page q{color:var(--accent);font-style:italic}.home{max-width:640px;margin:2rem auto;text-align:center;line-height:1.6}.home h2{font-size:1.75rem;margin-bottom:1rem}.cta{display:inline-block;margin-top:1.5rem;color:var(--accent);font-style:italic;text-decoration:none;border-bottom:1px solid var(--accent);padding-bottom:2px}.cta:hover{color:#5a161f}.status{text-align:center;color:var(--muted);padding:2rem 0}.status.error{color:var(--accent)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem}.card{background:var(--card);border:1px solid rgba(44,24,16,.1);display:flex;flex-direction:column;overflow:hidden;transition:transform .15s,box-shadow .15s}.card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2c18101f}.cover{width:100%;aspect-ratio:3 / 4;object-fit:cover;display:block}.card-body{padding:1rem 1rem 1.25rem;display:flex;flex-direction:column;flex:1}.title{font-size:1rem;margin:0 0 .25rem;line-height:1.3}.author{margin:0 0 .25rem;font-style:italic;color:var(--muted)}.arranger{margin:0 0 .5rem;font-size:.8rem;color:var(--accent);letter-spacing:.02em}.catalog-head{text-align:center;margin-bottom:2rem}.catalog-head h2{font-size:1.75rem;margin:0 0 .25rem}.catalog-head .subtitle{margin:0}.musicians-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem;margin-top:2rem;text-align:left}.musician-card{display:block;text-decoration:none;color:inherit;background:var(--card);border:1px solid rgba(44,24,16,.1);padding:1rem;text-align:center;transition:transform .15s,box-shadow .15s}.musician-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2c18101f}.musician-thumb{width:100%;aspect-ratio:4 / 5;object-fit:cover;margin-bottom:.75rem}.musician-card h3{margin:0 0 .5rem;font-size:1.1rem}.bio-snippet{margin:0;font-size:.85rem;color:var(--muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.musician-page{max-width:900px;margin:0 auto}.musician-head{display:grid;grid-template-columns:200px 1fr;gap:1.5rem;margin-bottom:2rem;align-items:start}.musician-portrait{width:100%;aspect-ratio:4 / 5;object-fit:cover;border:1px solid rgba(44,24,16,.1)}.musician-head h2{margin:0 0 .75rem;font-size:1.6rem}.musician-head .bio{color:var(--muted);line-height:1.6;margin:0}.works-heading{margin:2rem 0 1rem;font-size:1.25rem;border-top:1px solid rgba(44,24,16,.15);padding-top:1.5rem}.meta{margin:0 0 1rem;font-size:.85rem;color:var(--muted)}.card-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between}.price{font-size:1.1rem;font-weight:700}.buy{background:var(--accent);color:var(--bg);border:none;padding:.5rem 1rem;font-family:inherit;font-size:.9rem;cursor:pointer;letter-spacing:.05em}.buy:hover{background:#5a161f}.foot{text-align:center;margin-top:4rem;color:var(--muted)}.card-link{text-decoration:none;color:inherit;display:block}.detail{max-width:800px;margin:0 auto}.back-link{display:inline-block;color:var(--muted);text-decoration:none;font-size:.9rem;margin-bottom:1.5rem}.back-link:hover{color:var(--ink)}.detail-grid{display:grid;grid-template-columns:minmax(200px,280px) 1fr;gap:2rem}.detail-cover{width:100%;aspect-ratio:3 / 4;object-fit:cover;border:1px solid rgba(44,24,16,.1)}.detail-info h2{margin:0 0 .5rem;font-size:1.6rem;line-height:1.3}.donate-cta{margin:1.5rem 0 1rem;font-size:1rem;color:var(--ink);line-height:1.5}.donate-cta strong{font-size:1.4rem;color:var(--accent)}.buy-large{padding:.85rem 1.75rem;font-size:1rem}.checkout{max-width:560px;margin:0 auto}.checkout h2{margin:0 0 1.5rem;text-align:center}.checkout-summary{display:grid;grid-template-columns:100px 1fr;gap:1rem;padding:1rem;background:var(--card);border:1px solid rgba(44,24,16,.1)}.checkout-cover{width:100%;aspect-ratio:3 / 4;object-fit:cover}.checkout-info h3{margin:0 0 .25rem;font-size:1.05rem}.checkout-total{display:flex;justify-content:space-between;align-items:center;padding:1rem;margin-top:.5rem;border-top:1px solid rgba(44,24,16,.15);font-size:1.1rem}.checkout-total strong{font-size:1.4rem}.mock-notice{margin:1.5rem 0;padding:.75rem 1rem;background:#7a1f2b14;color:var(--accent);font-size:.9rem;text-align:center}.checkout-actions{display:flex;align-items:center;justify-content:space-between;margin-top:1.5rem}.link-secondary{color:var(--muted);text-decoration:none;font-size:.95rem}.link-secondary:hover{color:var(--ink)}.order-confirmation{max-width:520px;margin:0 auto;text-align:center}.success-badge{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:#2c5e2e;color:var(--bg);font-size:2rem;margin-bottom:1rem}.success-badge.pending{background:var(--muted);font-size:1.5rem}.success-message{color:var(--muted);margin-bottom:2rem}.order-card{padding:1.5rem;background:var(--card);border:1px solid rgba(44,24,16,.1);margin-bottom:1.5rem;text-align:left}.order-card h3{margin:0 0 .25rem}.order-card .buy-large{display:inline-block;text-decoration:none;text-align:center;margin-top:1rem;width:100%}.order-card code{background:#2c18100d;padding:.1rem .4rem;font-size:.85rem}
