* { box-sizing: border-box; }
body { margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #1f2933; background: #f7f5f0; line-height: 1.5; }
[hidden] { display: none !important; }
a { color: inherit; }
.site-header { padding: 56px min(7vw, 72px) 34px; background: #ffffff; border-bottom: 1px solid #ded8cc; }
.brand-lockup { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 16px; text-decoration: none; font-weight: 900; font-size: 1rem; }
.brand-logo { display: block; width: 42px; height: 42px; object-fit: contain; }
.public-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.public-nav a { display: inline-flex; align-items: center; min-height: 34px; padding: 0 12px; border: 1px solid #ded8cc; border-radius: 999px; background: #fffdfa; color: #3f4a56; text-decoration: none; font-weight: 800; font-size: 0.9rem; }
.public-nav a.active { background: #1f2933; border-color: #1f2933; color: #fff; }
.eyebrow { margin: 0 0 10px; color: #806a4d; text-transform: uppercase; font-size: 0.78rem; letter-spacing: 0.08em; }
h1 { max-width: 980px; margin: 0; font-size: clamp(2rem, 4vw, 4rem); line-height: 1.05; letter-spacing: 0; }
.site-header p:not(.eyebrow) { max-width: 760px; font-size: 1.1rem; color: #4b5563; }
.header-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 18px; }
main { width: min(1180px, calc(100% - 32px)); margin: 0 auto; padding: 32px 0 56px; }
.trust-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; margin-bottom: 18px; }
.trust-strip p { margin: 0; padding: 12px 14px; background: #fffdfa; border: 1px solid #ded8cc; border-radius: 8px; color: #3f4a56; font-weight: 700; font-size: 0.92rem; }
.public-counters { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; margin-bottom: 16px; }
.public-counters article { background: #fffdfa; border: 1px solid #ded8cc; border-radius: 8px; padding: 16px; }
.public-counters span { display: block; color: #64707d; font-size: 0.88rem; }
.public-counters strong { display: block; font-size: 2rem; line-height: 1.1; }
.catalogue-controls { display: grid; grid-template-columns: minmax(240px, 1.5fr) repeat(4, minmax(150px, 1fr)); gap: 12px; align-items: end; margin-bottom: 22px; }
.catalogue-controls.guitars-controls { grid-template-columns: minmax(240px, 1.5fr) repeat(3, minmax(150px, 1fr)); }
.catalogue-controls label { display: grid; gap: 6px; color: #4b5563; font-size: 0.9rem; font-weight: 700; }
.catalogue-controls input, .catalogue-controls select { width: 100%; min-height: 42px; border: 1px solid #cfc7b8; border-radius: 6px; background: #fffdfa; color: #1f2933; padding: 0 12px; font: inherit; font-weight: 500; }
.catalogue-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.catalogue-head h2 { margin: 0; font-size: 1.6rem; }
.catalogue-head p { margin: 0; color: #64707d; }
.record-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.record-card { background: #fffdfa; border: 1px solid #ded8cc; border-radius: 8px; padding: 18px; display: grid; gap: 10px; }
.record-image-link { display: block; margin: -18px -18px 2px; border-radius: 8px 8px 0 0; overflow: hidden; background: #ebe5da; }
.record-cover { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.record-topline { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.sku { color: #64707d; font-size: 0.9rem; }
.badge { border-radius: 999px; padding: 4px 10px; font-size: 0.78rem; font-weight: 700; }
.badge.available { background: #dbeafe; color: #174e88; }
.badge.reserved { background: #fde68a; color: #7c4a03; }
.badge.sold { background: #e5e7eb; color: #374151; }
.badge.guitar { background: #e9d5ff; color: #5b21b6; }
.record-card h3 { margin: 0; font-size: 1.15rem; line-height: 1.25; letter-spacing: 0; }
.details, .grades { margin: 0; color: #64707d; }
.price { margin: 0; font-size: 1.25rem; font-weight: 800; }
.price-note, .contact-note, .service-note { margin: -6px 0 0; color: #64707d; font-size: 0.86rem; }
.service-note strong { color: #3f4a56; }
.sold-note { margin: 0; color: #3f4a56; font-weight: 700; }
.guitar-shipping-note { margin: 0; color: #3f4a56; font-size: 0.9rem; font-weight: 800; }
.actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 14px; border-radius: 6px; text-decoration: none; font: inherit; font-weight: 700; border: 1px solid #1f2933; cursor: pointer; }
.button.primary { background: #1f2933; color: white; }
.button.ghost { background: white; color: #1f2933; }
.button:disabled, .button.disabled { opacity: 0.56; cursor: not-allowed; }
.cart-summary { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 8px 10px; background: #fffdfa; border: 1px solid #ded8cc; border-radius: 8px; color: #3f4a56; font-size: 0.88rem; font-weight: 700; }
.cart-open-button { min-height: 34px; padding: 0 10px; }
.cart-count { min-width: 22px; min-height: 22px; display: inline-flex; align-items: center; justify-content: center; margin-left: 6px; border-radius: 999px; background: #1f2933; color: #fff; font-size: 0.78rem; }
.cart-panel { position: fixed; right: 16px; bottom: 16px; z-index: 20; width: min(420px, calc(100vw - 32px)); max-height: calc(100vh - 32px); overflow: auto; padding: 18px; background: #fffdfa; border: 1px solid #cfc7b8; border-radius: 8px; box-shadow: 0 18px 60px rgba(31, 41, 51, 0.22); }
.cart-panel-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.cart-panel h2 { margin: 0 0 4px; font-size: 1.2rem; letter-spacing: 0; }
.cart-panel p { margin: 0; color: #64707d; }
.cart-lines { display: grid; gap: 10px; margin: 14px 0; }
.cart-line { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px; background: #fff; border: 1px solid #ede7dc; border-radius: 8px; }
.cart-line img, .cart-line-placeholder { width: 56px; height: 56px; border-radius: 6px; object-fit: cover; background: #ebe5da; }
.cart-line div { display: grid; gap: 2px; min-width: 0; }
.cart-line strong { font-size: 0.95rem; line-height: 1.25; }
.cart-line span, .cart-line a { color: #64707d; font-size: 0.84rem; }
.cart-service-option { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 6px; row-gap: 2px; align-items: start; margin-top: 6px; color: #3f4a56; font-size: 0.84rem; line-height: 1.3; }
.cart-service-option input { margin-top: 2px; }
.cart-service-option span { color: #3f4a56; font-weight: 700; }
.cart-service-option em { grid-column: 2; color: #64707d; font-style: normal; font-size: 0.8rem; }
.cart-empty { padding: 18px; background: #fff; border: 1px dashed #cfc7b8; border-radius: 8px; }
.cart-totals { display: grid; gap: 6px; padding-top: 12px; border-top: 1px solid #ded8cc; }
.cart-totals p { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; min-width: 0; color: #3f4a56; }
.cart-totals p span { min-width: 0; }
.cart-totals strong, .cart-advantage-details strong { color: #1f2933; white-space: nowrap; text-align: right; }
.cart-advantage { display: grid; gap: 6px; margin: 4px 0; padding: 10px; background: #f7f5f0; border: 1px solid #ded8cc; border-radius: 8px; }
.cart-advantage h3 { margin: 0; font-size: 0.98rem; letter-spacing: 0; }
.cart-advantage-summary { color: #1f2933 !important; font-weight: 800; }
.cart-advantage-toggle { justify-self: start; min-height: 32px; padding: 0 10px; font-size: 0.88rem; }
.cart-advantage-details { display: grid; gap: 6px; padding-top: 8px; border-top: 1px solid #ded8cc; }
.cart-advantage .cart-note { display: block; margin-top: 4px !important; }
.cart-note { margin-top: 10px !important; font-size: 0.88rem; }
.cart-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.empty-state { grid-column: 1 / -1; padding: 28px; background: white; border: 1px solid #ded8cc; border-radius: 8px; }
.record-page { max-width: 820px; }
.record-site-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.record-site-header .brand-lockup { margin-bottom: 0; }
.record-header-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 10px; }
.back-link { display: inline-block; color: #4b5563; }
.product-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, 280px); gap: 20px; align-items: start; background: #fffdfa; border: 1px solid #ded8cc; border-radius: 8px; padding: 22px; }
.product-hero h1 { margin: 6px 0 8px; font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1.05; letter-spacing: 0; }
.product-buy-box { display: grid; gap: 12px; justify-items: start; }
.product-buy-box strong { font-size: 1.7rem; }
.photo-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; margin-top: 18px; }
.photo-gallery img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 8px; border: 1px solid #ded8cc; background: #ebe5da; }
.why-record, .condition-summary, .site-about { margin-top: 22px; padding: 18px; background: #fffdfa; border: 1px solid #ded8cc; border-radius: 8px; }
.why-record h2, .condition-summary h2, .site-about h2 { margin: 0 0 10px; font-size: 1.15rem; }
.why-record ul, .condition-summary ul { margin: 0; padding-left: 18px; }
.condition-summary li { margin: 4px 0; }
.condition-summary li span { color: #64707d; margin-right: 8px; }
.condition-summary li strong { color: #1f2933; }
.local-vinyl-services { display: grid; gap: 16px; margin-top: 28px; padding: 20px; background: #fffdfa; border: 1px solid #ded8cc; border-radius: 8px; }
.services-teaser { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.local-services-intro { display: grid; gap: 8px; }
.local-services-intro h2 { margin: 0; font-size: 1.35rem; letter-spacing: 0; }
.local-services-intro p { margin: 0; max-width: 860px; color: #4b5563; }
.local-services-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.local-services-grid article { display: grid; gap: 8px; padding: 14px; background: #fff; border: 1px solid #ede7dc; border-radius: 8px; }
.local-services-grid h3 { margin: 0; font-size: 1rem; letter-spacing: 0; }
.local-services-grid ul { margin: 0; padding-left: 18px; color: #3f4a56; font-weight: 700; }
.local-services-grid p, .local-services-notice { margin: 0; color: #64707d; font-size: 0.9rem; }
.local-services-notice { color: #3f4a56; font-weight: 700; }
.tips-box { padding: 14px; background: #fff; border: 1px solid #ede7dc; border-radius: 8px; }
.tips-box p { margin: 0; color: #4b5563; }
.tips-box p + p { margin-top: 8px; }
.guitar-service-strip { display: grid; gap: 10px; margin-bottom: 18px; padding: 18px; background: #fffdfa; border: 1px solid #ded8cc; border-radius: 8px; }
.guitar-service-strip p { margin: 0; color: #3f4a56; font-weight: 700; }
.site-about { margin-top: 26px; }
.site-about p { max-width: 780px; margin: 0; color: #4b5563; }
.description { margin-top: 20px; padding-top: 18px; border-top: 1px solid #ded8cc; }
.technical-details { margin-top: 18px; padding-top: 18px; border-top: 1px solid #ded8cc; }
.technical-details table { width: 100%; border-collapse: collapse; background: #fffdfa; border: 1px solid #ded8cc; border-radius: 8px; overflow: hidden; }
.technical-details th, .technical-details td { padding: 10px 12px; border-bottom: 1px solid #ede7dc; text-align: left; vertical-align: top; }
.technical-details tr:last-child th, .technical-details tr:last-child td { border-bottom: 0; }
.technical-details th { width: 34%; color: #64707d; font-weight: 700; }
@media (max-width: 680px) {
  .site-header { padding: 34px 18px 26px; }
  main { width: min(100% - 24px, 1180px); padding-top: 22px; }
  .catalogue-controls { grid-template-columns: 1fr; }
  .catalogue-head { display: block; }
  .record-grid { grid-template-columns: 1fr; }
  .services-teaser { grid-template-columns: 1fr; }
  .product-hero { grid-template-columns: 1fr; }
  .record-site-header { align-items: flex-start; flex-direction: column; }
  .record-header-actions { justify-content: flex-start; }
  .cart-line { grid-template-columns: 48px minmax(0, 1fr); }
  .cart-line .button { grid-column: 1 / -1; }
}
