.jj-sheet { padding-bottom: clamp(44px, 6vw, 88px); }
.jj-category-bar, .jj-sheet-jumps { display:flex; align-items:center; gap:8px 22px; flex-wrap:wrap; }
.jj-category-bar { padding:18px 0; margin-bottom:clamp(22px, 3vw, 46px); border-bottom:1px solid var(--line); font-size:14px; }
.jj-category-bar a { padding:4px 0; }
.jj-category-bar .jj-cat-all { font-weight:650; }
.jj-category-bar a[aria-current], .jj-category-bar a:hover, .jj-sheet-jumps a:hover { color:var(--teal); text-decoration:underline; text-underline-offset:5px; }
.jj-sheet-top { display:grid; grid-template-columns:minmax(0,1.07fr) minmax(0,1fr); gap:clamp(28px,5vw,80px); align-items:start; }
.jj-gallery { min-width:0; }
.jj-stage { position:relative; background:#f3f4f1; }
.jj-slides { display:flex; width:100%; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; scrollbar-width:none; }
.jj-slides::-webkit-scrollbar { display:none; }
.jj-slide { flex:0 0 100%; min-width:0; aspect-ratio:1 / 1; scroll-snap-align:start; scroll-snap-stop:always; }
.jj-slide img { width:100%; height:100%; object-fit:contain; }
.jj-slide-arrow { position:absolute; top:50%; transform:translateY(-50%); width:42px; height:42px; display:grid; place-items:center; padding:0; border:0; border-radius:50%; color:var(--ink); background:rgba(255,255,255,.92); font-size:30px; line-height:1; cursor:pointer; }
.jj-prev { left:12px; } .jj-next { right:12px; }
.jj-photo-count { position:absolute; bottom:12px; right:12px; background:rgba(20,45,60,.85); color:white; border-radius:3px; padding:3px 10px; font-size:13px; font-variant-numeric:tabular-nums; }
.jj-thumbs { display:flex; overflow-x:auto; gap:8px; padding:9px 2px 5px; scrollbar-width:thin; }
.jj-thumbs a { flex:0 0 clamp(46px,5.5vw,70px); padding:2px; border:2px solid transparent; border-radius:3px; }
.jj-thumbs a[aria-current] { border-color:var(--teal); }
.jj-thumbs img { width:100%; aspect-ratio:1; object-fit:contain; }
.jj-sheet-copy { padding:clamp(0px,1.4vw,24px) 0; }
.jj-sheet-copy .jj-overline { margin-bottom:4px; }
.jj-sheet-copy h1 { font-size:clamp(34px,3.8vw,58px); }
.jj-sheet-jumps { border-block:1px solid var(--line); padding:12px 0; margin-top:clamp(26px,4vw,58px); font-size:15px; font-weight:600; }
.jj-sheet-section { padding-top:clamp(25px,3.2vw,48px); scroll-margin-top:16px; }
.jj-sheet-section h2 { font-size:clamp(25px,2.8vw,40px); margin-bottom:16px; }
.jj-photo-grid { display:grid; grid-template-columns: repeat(auto-fit,minmax(min(100%, 360px),1fr)); gap:16px; align-items:start; }
.jj-photo-grid a { display:block; }
.jj-photo-grid img { width:100%; height:auto; object-fit:contain; }
.jj-photo-grid .wp-block-image { margin:0; }
.jj-photo-grid .wp-block-image img { max-height:none; width:100%; }
.jj-grid-size, .jj-grid-colours { max-width:900px; }
@media(max-width:780px) {
  .jj-category-bar { gap:5px 15px; padding:12px 0; font-size:13px; }
  .jj-sheet-top { grid-template-columns: minmax(0,1fr); gap:18px; }
  .jj-sheet-copy { padding:0; }
  .jj-sheet-section, .jj-sheet-copy, .jj-gallery { min-width:0; }
}

.jj-info-column .jj-sheet-section{max-width:760px;margin-inline:auto;border-bottom:1px solid var(--line);padding-block:clamp(24px,4vw,56px)}
.jj-info-column .jj-photo-grid{grid-template-columns:minmax(0,1fr);gap:24px}
.jj-info-column .jj-photo-grid img{display:block;width:100%;height:auto}
.jj-info-column summary{cursor:pointer;font-weight:600;padding:14px 0;color:var(--teal)}
