/* JBL editorial feature: physical product photography and a compact listening story. */
.sound-feature{display:grid;grid-template-columns:1.12fr 1fr;margin:4px 4.5% 0;border-radius:24px;overflow:hidden;background:#27272a;min-height:590px;isolation:isolate}
.sound-photo{position:relative;display:block;min-width:0;min-height:590px;overflow:hidden;background:#ed4e27;color:#211d1b}
.sound-photo>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% 57%;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.sound-photo:hover>img{transform:scale(1.025)}
.sound-photo-top{position:absolute;left:38px;right:38px;top:29px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;font-weight:700;letter-spacing:.12em}
.sound-brand{font-size:42px;font-weight:800;letter-spacing:-3px;line-height:1}
.sound-photo-bottom{position:absolute;bottom:31px;left:38px;font-size:11px;font-weight:700;letter-spacing:.12em}
.sound-editorial{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:44px 54px 35px;color:#fcfcfc;min-width:0}
.sound-eyebrow{font-size:12px;letter-spacing:.12em;font-weight:600;color:#bababe}
.sound-editorial-main{padding:49px 0 41px;width:100%}
.sound-editorial h2{font-size:clamp(68px,6.2vw,92px);line-height:.98;letter-spacing:-5.5px;font-weight:500;color:#fff}
.sound-editorial h2 span{color:#f36a44}
.sound-editorial p{font-size:17px;line-height:1.7;color:#c0bfc4;margin-top:27px}
.sound-link{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:31px;padding:15px 0;border-bottom:1px solid #68666d;font-size:15px;font-weight:600;max-width:305px;color:#fff;transition:border-color .25s}
.sound-link>span{display:grid;place-items:center;width:33px;height:33px;border-radius:50%;background:#f36a44;color:#252528;transition:transform .25s,background .25s}
.sound-link:hover{border-color:#f36a44}.sound-link:hover>span{transform:translateX(3px);background:#ff8866}
.sound-editorial-foot{width:100%;display:flex;align-items:center;justify-content:flex-end;gap:25px}
.sound-editorial-foot>span{font-size:10px;line-height:1.8;letter-spacing:.11em;color:#a4a2ab}
.sound-meter{height:45px;display:flex;align-items:center;gap:4px;color:#f36a44}
.sound-meter>span{width:3px;height:var(--bar-height);border-radius:3px;background:currentColor;transform-origin:center;animation:sound-level 2.1s ease-in-out infinite alternate;animation-delay:calc(var(--beat) * -.19s)}
@keyframes sound-level{0%,20%{transform:scaleY(.4);opacity:.5}75%,100%{transform:scaleY(1);opacity:1}}

/* Small digital signatures. Each route receives its own seeded arrangement. */
.signal-mark{width:100%;height:100%;fill:none;stroke:none;overflow:visible}
.signal-pixel{fill:currentColor;stroke:none;transform-box:fill-box;transform-origin:center;opacity:var(--strength);animation:pixel-breathe 3.6s ease-in-out infinite;animation-delay:var(--phase)}
@keyframes pixel-breathe{0%,100%{opacity:var(--strength);transform:translateY(0)}50%{opacity:calc(var(--strength) * .35);transform:translateY(-3px)}}
.hero-signal{width:69px;height:69px;right:12px;bottom:131px;left:auto;color:#8e8c96;opacity:.5;z-index:2;pointer-events:none}
.detail-signal{width:82px;height:82px;right:17px;bottom:37px;color:#b2b0b8;pointer-events:none}
.personal-art{width:116px;height:116px;color:#8d8995}.personal-art>span{font-size:8px;letter-spacing:.08em;white-space:normal;margin:10px 0 0}
.footer-art .signal-mark{width:86px;height:86px;color:#89848e}.footer-art{gap:12px}
.cta-signal{width:96px;height:96px;right:32px;top:66px;color:#918997;opacity:.6;pointer-events:none}
.page-intro>.signal-mark{width:132px;height:132px;margin-right:30px;color:#96919e}
.not-found>.signal-mark{width:92px;height:92px;color:#827c8d}.empty-bag>.signal-mark{width:80px;height:80px;color:#827c8d}
.success-state>.signal-mark{width:49px;height:49px;right:18px;top:66px;color:#99919f}

@media(min-width:1600px){.sound-feature{min-height:650px}.sound-photo{min-height:650px}.sound-editorial{padding:48px 65px 40px}}
@media(max-width:1150px){.sound-feature{grid-template-columns:1fr 1fr;min-height:545px}.sound-photo{min-height:545px}.sound-editorial{padding:34px 34px 29px}.sound-editorial-main{padding:43px 0 35px}.sound-editorial h2{font-size:76px;letter-spacing:-4.5px}.sound-editorial p{font-size:15px;margin-top:23px}.sound-link{font-size:14px;margin-top:24px}.sound-photo-top{left:27px;right:27px;top:28px}.sound-photo-bottom{left:27px;bottom:28px;font-size:9px}.sound-brand{font-size:36px}.sound-eyebrow{font-size:10px}.sound-editorial-foot>span{font-size:9px}}
@media(max-width:760px){.sound-feature{grid-template-columns:1fr;margin:0 5%;border-radius:19px;min-height:0}.sound-photo{min-height:0;aspect-ratio:1.05}.sound-photo>img{object-position:50% 59%}.sound-photo-top{top:23px;left:25px;right:25px;font-size:10px}.sound-brand{font-size:34px}.sound-photo-bottom{bottom:21px;left:25px;font-size:8px}.sound-editorial{padding:30px 29px 27px}.sound-eyebrow{font-size:10px}.sound-editorial-main{padding:28px 0 33px}.sound-editorial h2{font-size:69px;letter-spacing:-4.3px;line-height:.99}.sound-editorial p{font-size:15px;line-height:1.75;margin-top:22px}.sound-link{max-width:none;font-size:14px;margin-top:24px;padding:12px 0}.sound-editorial-foot>span{font-size:9px}.sound-meter{height:34px;gap:3px}.sound-meter>span{width:2px;max-height:34px}.hero-signal{width:44px;height:44px;right:14px;bottom:111px;opacity:.5}.detail-signal{width:60px;height:60px;right:15px;bottom:33px}.personal-art{width:89px;height:89px}.personal-art>span{font-size:7px;line-height:1.7}.cta-signal{width:64px;height:64px;right:23px;top:114px;opacity:.45}.page-intro>.signal-mark{width:66px;height:66px;right:17px;top:35px;opacity:.35;margin:0}.success-state>.signal-mark{width:42px;height:42px;right:5px;top:60px}}

/* Category and brand buttons share one left-aligned control area. */
.catalog-controls{flex-direction:column;align-items:flex-start;gap:15px}
.brand-filters{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:6px}
.brand-filter{min-width:82px}
@media(max-width:760px){.catalog-controls{gap:10px}.brand-filters{gap:3px;width:100%}.brand-filter{min-width:0;padding:11px 14px;flex-shrink:0}}

/* Consistent euro pricing across catalogue, product and bag. */
.product-meta>.card-variant{display:block;font-size:11px;line-height:1.5;min-height:17px;margin:0 0 12px;color:#85808b}
.product-meta h3{margin-bottom:8px}
.card-bottom>.product-price:first-child{font-size:21px;font-weight:600;color:#242426;letter-spacing:-.55px;font-variant-numeric:tabular-nums;white-space:nowrap}
.price-line strong{font-size:34px;font-variant-numeric:tabular-nums;white-space:nowrap}
.bag-item>div{min-width:0}
.bag-item-price{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-top:10px}
.bag-item-price>span{font-size:11px;color:#85808b}
.bag-item-price>strong{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.bag-summary>.bag-item-count{font-size:12px;color:#85808b;margin-bottom:16px}
.bag-summary>.bag-total-row{align-items:baseline;font-size:15px;gap:12px}
.bag-total-row strong,.request-total strong{font-size:25px;letter-spacing:-.6px;font-variant-numeric:tabular-nums;white-space:nowrap}
.request-total{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 0;margin:0 0 28px;border-top:1px solid #e9e1ef;border-bottom:1px solid #e9e1ef;font-size:14px}
.request-total small{display:block;margin-top:5px;color:#85808b;font-size:11px}
@media(max-width:760px){.card-bottom>.product-price:first-child{font-size:17px;letter-spacing:-.4px}.product-meta>.card-variant{font-size:10px;min-height:30px;margin-bottom:9px}.price-line strong{font-size:30px}.bag-item-price{gap:6px}.bag-item-price>strong{font-size:14px}.bag-total-row strong,.request-total strong{font-size:23px}}
