:root{--paper:#f3efe6;--ink:#1e211c;--muted:#687067;--line:#252921;--accent:#bd6e52;--soft:#dfe6dc;--radius:14px;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}a{color:inherit}.product-header{min-height:112px;padding:24px clamp(22px,5vw,80px);display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--line)}.product-brand{display:flex;align-items:center;gap:14px;text-decoration:none}.product-brand>strong{font-size:30px;letter-spacing:-.08em}.product-brand>span{font-weight:800;letter-spacing:.04em}.product-brand small{display:block;margin-top:4px;color:var(--muted);font-size:10px;letter-spacing:.2em}.product-header nav{display:flex;gap:32px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.product-header nav a{text-decoration:none}.product-page main{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(430px,.9fr);min-height:calc(100dvh - 112px)}.product-gallery{padding:clamp(22px,3vw,52px);border-right:2px solid var(--line)}.product-main-photo{height:min(72vh,850px);min-height:520px;border:2px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#e9e5dc}.product-main-photo img{width:100%;height:100%;object-fit:contain;display:block}.product-thumbnails{display:flex;gap:10px;margin-top:12px;overflow:auto;padding-bottom:4px}.product-thumbnails button{flex:0 0 82px;width:82px;height:82px;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;cursor:pointer}.product-thumbnails img{width:100%;height:100%;object-fit:cover}.product-details{padding:clamp(34px,6vw,110px);align-self:start;position:sticky;top:0}.back-link{display:inline-block;margin-bottom:54px;color:var(--muted);font-size:13px;text-underline-offset:4px}.product-eyebrow{margin:0 0 16px;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.16em}.product-details h1{max-width:850px;margin:0;font-size:clamp(42px,5vw,82px);line-height:.92;letter-spacing:-.055em}.product-price{margin:26px 0 32px;font-size:24px;font-weight:800}.product-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 42px;border-top:1px solid #c9c5bb;border-bottom:1px solid #c9c5bb}.product-facts div{padding:20px 16px 20px 0}.product-facts dt{margin-bottom:8px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.product-facts dd{margin:0;font-size:14px;font-weight:700;line-height:1.35}.availability-dot{display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:#638457}.product-description{max-width:760px;color:#4f574f;font-size:16px;line-height:1.7}.product-description h2{margin:0 0 18px;color:var(--ink);font-size:24px}.product-description p{margin:0 0 16px}.product-description ul,.product-description ol{padding-left:22px}.product-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border:2px solid var(--line);border-radius:11px;text-decoration:none;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.button-accent{background:var(--accent)}.button-ghost{background:transparent}
.product-header{position:sticky;top:0;z-index:20;background:rgba(243,239,230,.96);backdrop-filter:blur(10px)}
.product-details{top:112px}
.availability-dot.is-sold{background:#9a4f3b}.sold-badge{display:inline-flex;margin-top:24px;padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:#ead6cc;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.sold-note{max-width:620px;margin-top:34px;padding:20px;border-left:4px solid var(--accent);background:#f0ebe2;line-height:1.6}.similar-instruments{padding:clamp(50px,7vw,110px) clamp(22px,5vw,80px);border-top:2px solid var(--line)}.similar-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:32px}.similar-heading h2{margin:0;font-size:clamp(34px,5vw,68px);letter-spacing:-.045em}.similar-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.similar-card{text-decoration:none}.similar-image{aspect-ratio:4/3;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#e9e5dc}.similar-image img{width:100%;height:100%;object-fit:cover;display:block}.similar-card p{margin:16px 0 6px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.similar-card h3{margin:0 0 12px;font-size:20px;line-height:1.1}.similar-card strong{font-size:14px}
@media(max-width:900px){.product-header{min-height:84px;padding:18px 20px}.product-header nav{display:none}.product-page main{display:block}.product-gallery{padding:14px;border-right:0;border-bottom:2px solid var(--line)}.product-main-photo{height:58vh;min-height:350px}.product-details{position:static;padding:34px 20px 60px}.back-link{margin-bottom:32px}.product-details h1{font-size:clamp(38px,11vw,62px)}.product-facts{grid-template-columns:1fr}.product-facts div{padding:15px 0;border-bottom:1px solid #d4d0c6}.product-facts div:last-child{border-bottom:0}.product-actions{display:grid}.button{width:100%}.similar-heading{display:block}.similar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.similar-grid{grid-template-columns:1fr}}

html,body{width:100%;max-width:100%;overflow-x:hidden;overflow-x:clip}
img,svg,video{max-width:100%}
.product-brand,.product-details,.product-gallery,.similar-instruments{min-width:0;max-width:100%}
.product-details h1,.product-description{overflow-wrap:anywhere}

/* The main photo links to the full-size original (zoom). */
a.product-main-photo{display:block;cursor:zoom-in}

/* The frame follows the photo instead of a fixed box with empty bands */
.product-main-photo{height:auto;min-height:0;border:0;border-radius:0;background:none;overflow:visible;display:flex;justify-content:center;align-items:flex-start}
.product-main-photo img{width:auto;height:auto;max-width:100%;max-height:min(78vh,850px);border:2px solid var(--line);border-radius:var(--radius);background:#e9e5dc}
/* Thumbnails wrap on large screens instead of a scrollbar */
@media(min-width:901px){.product-thumbnails{flex-wrap:wrap;overflow:visible}}
@media(max-width:900px){.product-main-photo img{max-height:70vh}}

/* In-page photo viewer */
/* 100% rather than 100vw: 100vw includes the scrollbar and pushed the buttons off screen */
.lightbox{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#141613;color:#f4f0e7}
.lightbox::backdrop{background:rgba(20,22,19,.6)}
.lightbox-stage{position:absolute;inset:0;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:64px 72px;cursor:zoom-out}
.lightbox-stage img{max-width:100%;max-height:100%;object-fit:contain;cursor:zoom-in;user-select:none}
.lightbox-stage.is-zoomed{overflow:auto;display:block;padding:0;cursor:auto}
.lightbox-stage.is-zoomed img{max-width:none;max-height:none;width:auto;height:auto;cursor:zoom-out}
.lightbox button{position:absolute;z-index:2;width:48px;height:48px;border:2px solid #f4f0e7;border-radius:50%;background:rgba(20,22,19,.55);color:#f4f0e7;font:700 22px/1 var(--sans);cursor:pointer}
.lightbox button:hover{background:#f4f0e7;color:#1e211c}
.lightbox-close{top:14px;right:14px}
.lightbox-prev{left:14px;top:50%;transform:translateY(-50%)}
.lightbox-next{right:14px;top:50%;transform:translateY(-50%)}
.lightbox.is-single .lightbox-prev,.lightbox.is-single .lightbox-next{display:none}
.lightbox-counter{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);margin:0;font:600 13px var(--sans);letter-spacing:.08em}
@media(max-width:700px){.lightbox-stage{padding:60px 8px}.lightbox-prev,.lightbox-next{top:auto;bottom:10px;transform:none}.lightbox-prev{left:10px}.lightbox-next{right:10px}}
.lightbox-title{position:absolute;z-index:2;top:22px;left:24px;right:84px;margin:0;font:400 14px/1.35 var(--sans);color:rgba(244,240,231,.75);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lightbox-title strong{font-weight:700;font-size:16px;color:#f4f0e7}
.lightbox-title span{margin-left:10px}
@media(max-width:700px){.lightbox-title{top:16px;left:14px;right:74px;white-space:normal}.lightbox-title strong{display:block;font-size:15px}.lightbox-title span{margin-left:0}}

/* Breadcrumb: Home / Category, as on the old site */
.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:40px;font-size:13px;color:var(--muted)}
.breadcrumb a{color:inherit;text-underline-offset:4px}
.breadcrumb a:last-child{color:var(--ink);font-weight:700}

/* Header: categories menu and search (shared styles in styles.css) */
.product-header{gap:28px}
.product-header nav{align-items:center;margin-left:auto}
.product-header .nav-dropdown a{font-weight:700}
@media(max-width:900px){.product-header .header-search-form{margin-left:auto}}
@media(max-width:700px){.product-header .header-search-form{display:none}}

/* Readable title size, so the description shows up without scrolling */
.product-details h1{font-size:clamp(32px,2.8vw,48px);line-height:1;letter-spacing:-.035em}
.product-price{margin:18px 0 24px}
.product-facts{margin-bottom:32px}
.product-facts div{padding:14px 16px 14px 0}
/* The whole description, no scroll box (styles.css limits it for the old pop-up) */
.product-page .product-description{max-height:none;overflow:visible;margin:0;padding-right:0}
.product-description h2{font-size:20px;margin-bottom:12px}

/* Main photo with arrows on its sides */
.product-stage{position:relative}
.photo-nav{position:absolute;top:50%;z-index:2;width:46px;height:46px;transform:translateY(-50%);border:2px solid var(--line);border-radius:50%;background:rgba(243,239,230,.92);color:var(--ink);font:700 20px/1 var(--sans);cursor:pointer}
.photo-nav:hover{background:var(--ink);color:var(--paper)}
.photo-prev{left:12px}.photo-next{right:12px}
.photo-counter{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);padding:5px 10px;border-radius:999px;background:rgba(30,33,28,.72);color:#f3efe6;font:700 12px var(--sans);letter-spacing:.06em;pointer-events:none}
.product-thumbnails button.is-active{outline:2px solid var(--ink);outline-offset:2px}

/* Large screens: the photo stays in view while the description scrolls with the page */
@media(min-width:901px){
  .product-page main{align-items:stretch}
  .product-gallery{position:sticky;top:112px;align-self:start;height:calc(100dvh - 112px);display:flex;flex-direction:column;border-right:0;padding:clamp(18px,2.4vw,40px)}
  .product-stage{flex:1 1 auto;min-height:0}
  a.product-main-photo{display:flex;height:100%;align-items:center;justify-content:center}
  .product-main-photo img{max-height:100%}
  .product-thumbnails{flex:none;max-height:156px;overflow-y:auto;padding:4px 2px}
  .product-thumbnails button{flex-basis:68px;width:68px;height:68px}
  .product-details{position:static;align-self:stretch;border-left:2px solid var(--line);padding:clamp(30px,4vw,72px)}
}
.product-brand .brand-logo{height:52px;width:auto}
.product-brand small{margin-top:0}
@media(max-width:700px){.product-brand .brand-logo{height:40px}}

/* Contact buttons now sit between the facts and the description: tighter spacing so they show without scrolling */
.product-actions{margin:0 0 34px}
.sold-note{margin:0 0 34px}
.product-facts{margin-bottom:24px}
.product-price{margin:14px 0 20px}
.product-eyebrow{margin-bottom:10px}
.product-details .breadcrumb{margin-bottom:24px}
@media(min-width:901px){
  .product-details{padding-top:clamp(24px,2.6vw,48px)}
  .product-actions .button{min-height:48px}
}
/* Magnifier: on a computer, the detail under the mouse in place of the main photo (product.php) */
.product-main-photo{position:relative}.photo-lens{position:absolute;display:none;pointer-events:none;border-radius:var(--radius);background-color:#e9e5dc;background-repeat:no-repeat;box-shadow:inset 0 0 0 2px var(--line)}.product-main-photo.is-magnified .photo-lens{display:block}.product-main-photo.is-magnified{cursor:crosshair}
/* Brand logo above the listing title (assets/marques/, white logos turned dark here); the name when there is no logo */
.product-brand-logo{margin-bottom:6px}
.product-brand-logo img{display:block;height:46px;width:auto;filter:brightness(0);opacity:.85}
@media(max-width:700px){.product-brand-logo img{height:38px}}
