/* Joseph's Music Catalogue V6 — additive layer; leaves booking / contact styles unchanged */
.catalogue-section{padding:108px 0 120px;background:#f9f8fd;color:#252143}
.catalogue-top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:32px}
.catalogue-top h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;font-size:clamp(42px,4.7vw,68px);line-height:1.16;margin:20px 0 14px}
.catalogue-top p{margin:0;max-width:670px;color:#686482;font-size:15px;line-height:1.9}
.catalogue-count{font-size:12px;letter-spacing:.03em;color:#777197;white-space:nowrap}
.catalogue-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #dedbf0;border-bottom:1px solid #dedbf0;padding:22px 0;margin-bottom:30px}
.catalogue-filters{display:flex;flex-wrap:wrap;gap:8px}
.catalogue-filter{border:1px solid #d9d5eb;background:transparent;color:#49436f;padding:9px 15px;font-size:12px;font-weight:650;line-height:1.5;transition:all .15s}
.catalogue-filter:hover,.catalogue-filter.is-active{background:#272168;color:white;border-color:#272168}
.catalogue-filter:focus-visible,.catalogue-sort select:focus-visible,.catalogue-card a:focus-visible{outline:3px solid #9186eb;outline-offset:3px}
.catalogue-sort{display:flex;align-items:center;gap:10px;color:#625c84;font-size:12px}.catalogue-sort select{border:1px solid #d9d5eb;padding:8px 26px 8px 11px;background:white;color:#2b2752;font-size:12px}
.catalogue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.catalogue-card{display:flex;flex-direction:column;min-width:0;background:white;border:1px solid #e6e3f1;transition:box-shadow .2s,transform .2s;overflow:hidden}
.catalogue-card:hover{box-shadow:0 17px 35px rgba(41,29,99,.09);transform:translateY(-3px)}
.catalogue-card[hidden]{display:none!important}
.catalogue-card-photo{display:block;position:relative;background:#eceaf3;aspect-ratio:1.17;overflow:hidden}
.catalogue-card-photo img{width:100%;height:100%;object-fit:cover;object-position:center 50%;transition:transform .3s}
.catalogue-card:hover .catalogue-card-photo img{transform:scale(1.025)}
.catalogue-card-number{position:absolute;top:16px;left:16px;background:#ffffffed;color:#393260;padding:7px 10px;letter-spacing:.13em;font-size:10px;font-weight:750}
.catalogue-card-body{padding:24px 25px 26px;flex:1;display:flex;flex-direction:column}
.catalogue-card-meta{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#6e68a0;font-weight:750}
.catalogue-card h3{font-family:var(--serif);font-weight:400;line-height:1.3;font-size:clamp(24px,2.2vw,31px);letter-spacing:-.025em;margin:12px 0 8px;color:#1b1844}
.catalogue-card-sub{font-size:12px;color:#77718d;margin:0 0 20px;line-height:1.6}
.catalogue-card-price{font-size:24px;color:#211c60;font-weight:700;letter-spacing:-.035em;margin:0 0 12px}
.catalogue-card-cond{font-size:12px;color:#69637f;margin:0 0 21px;line-height:1.65}
.catalogue-card-actions{display:flex;justify-content:space-between;align-items:center;gap:9px;border-top:1px solid #eae8f1;padding-top:18px;margin-top:auto}
.catalogue-card-actions a{font-size:10px;font-weight:750;letter-spacing:.09em;text-transform:uppercase;color:#3b328e}
.catalogue-card-actions a:last-child{display:inline-block;border-bottom:1px solid #9790cc;padding-bottom:3px}
.catalogue-empty{margin-top:25px;font-size:14px;color:#6b648b}
.catalogue-note{margin-top:35px;font-size:12px;color:#746f8e;max-width:790px;line-height:1.75}
.catalogue-placeholder{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;width:100%;height:100%;color:#6f6aa1;background:radial-gradient(circle at 50% 40%,#f5f3fc,#e4e0f2);text-align:center}
.catalogue-placeholder svg{width:72px;height:72px;opacity:.7}.catalogue-placeholder strong{font-family:var(--serif);font-size:21px;font-weight:400;color:#4b4581}.catalogue-placeholder span{font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.catalogue-back{display:inline-block;font-size:11px;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:#5149a3;margin-bottom:35px;border-bottom:1px solid #aca5d3;padding-bottom:6px}
.product-page{padding:70px 0 115px;background:#f9f8fd}.product-detail{display:grid;grid-template-columns:1.04fr .96fr;gap:75px;align-items:start}
.product-photo{background:#eeecf5;overflow:hidden;min-height:440px;display:flex;align-items:center;justify-content:center;aspect-ratio:1 / 1}
.product-photo img{display:block;width:100%;height:100%;object-fit:contain;max-height:690px}
.product-info .eyebrow{color:#68609b}.product-info h1{font-size:clamp(42px,4.5vw,68px);line-height:1.17;letter-spacing:-.045em;font-family:var(--serif);font-weight:400;margin:22px 0 17px;color:#181540}
.product-price{font-size:34px;font-weight:750;color:#29226d;letter-spacing:-.04em;margin:20px 0}
.product-condition{font-size:13px;color:#655f82;margin:0 0 24px}.product-description{font-size:15px;line-height:1.9;color:#5c5877;margin-bottom:28px}
.product-list{padding:20px 0 0;margin:0 0 27px;list-style:none;border-top:1px solid #ddd8ea}
.product-list li{display:flex;gap:13px;margin-bottom:10px;color:#514d6f;font-size:13px;line-height:1.65}.product-list li:before{content:'✓';color:#564ac4;font-weight:750}
.product-cta{display:flex;flex-wrap:wrap;gap:15px;align-items:center;margin:30px 0 14px}.product-cta .btn{min-height:48px}
.product-small{font-size:12px;color:#777193;line-height:1.75}
.product-related{margin-top:95px;padding-top:55px;border-top:1px solid #dedbea}.product-related h2{font:400 clamp(33px,4vw,52px)/1.2 var(--serif);margin:0 0 20px;color:#242050}
@media(max-width:1100px){.catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-detail{gap:40px}}
@media(max-width:760px){.catalogue-section{padding:72px 0 86px}.catalogue-top{display:block}.catalogue-count{display:block;margin-top:20px}.catalogue-grid{grid-template-columns:1fr}.catalogue-card-photo{aspect-ratio:1.25}.catalogue-card-body{padding:23px}.catalogue-sort{width:100%;justify-content:space-between}.product-page{padding:45px 0 85px}.product-detail{grid-template-columns:1fr;gap:30px}.product-photo{min-height:270px;aspect-ratio:1.07}.product-info h1{font-size:clamp(39px,10vw,57px)}}
