.whc-site .whc-family-options { min-width:0; margin:22px 0 0; }
.whc-site .whc-family-options h2 { margin:0 0 10px; font-size:15px; line-height:1.4; font-family:inherit; font-weight:700; }
.whc-option-links { display:flex; flex-wrap:wrap; gap:8px; min-width:0; }
.whc-site .whc-option-link { flex:none; display:inline-flex; align-items:center; padding:8px 12px; border:1px solid var(--whc-border,#d6d8da); color:var(--whc-primary,#0e2741); background:transparent; border-radius:4px; text-decoration:none; font-size:13px; line-height:1.4; }
.whc-site .whc-option-link[aria-current="page"] { background:var(--whc-primary,#0e2741); color:#fff; border-color:var(--whc-primary,#0e2741); }
.whc-option-link[aria-current="page"]::after { content:'✓'; margin-left:8px; }
.whc-site .whc-similar { box-sizing:border-box; max-width:1600px; width:100%; min-width:0; margin:0 auto; padding:36px 5vw 42px; }
.whc-similar-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:16px; }
.whc-site .whc-similar-heading h2 { margin:0; font-size:clamp(22px,2.2vw,32px); line-height:1.2; }
.whc-similar-controls { display:flex; gap:8px; }
.whc-site .whc-similar-controls button { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; padding:0; border:1px solid var(--whc-border,#d6d8da); border-radius:4px; font-size:20px; cursor:pointer; color:var(--whc-primary,#0e2741); background:transparent; }
.whc-similar-controls button[aria-disabled="true"] { opacity:.4; cursor:default; }
.whc-similar-track { display:flex; gap:12px; min-width:0; max-width:100%; overflow-x:auto; overflow-y:hidden; padding:3px 2px 14px; scroll-snap-type:x proximity; scroll-padding-inline:2px; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:#8b98a4 #eef0f2; -webkit-overflow-scrolling:touch; touch-action:pan-x pan-y; }
.whc-similar-track::-webkit-scrollbar { height:7px; }
.whc-similar-track::-webkit-scrollbar-thumb { background:#8b98a4; border-radius:5px; }
.whc-similar-track::-webkit-scrollbar-track { background:#eef0f2; }
.whc-site .whc-compact-card { box-sizing:border-box; flex:0 0 clamp(138px,14vw,190px); min-width:0; display:flex; flex-direction:column; scroll-snap-align:start; text-decoration:none; color:inherit; background:var(--whc-paper,#fff); border:1px solid var(--whc-border,#d6d8da); border-radius:4px; overflow:hidden; }
.whc-compact-image { aspect-ratio:1; width:100%; min-width:0; overflow:hidden; background:#f1efea; display:flex; align-items:center; justify-content:center; }
.whc-site .whc-compact-image .whc-media-frame { display:flex; width:100%; height:100%; align-items:center; justify-content:center; }
.whc-site .whc-compact-image img { display:block; width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; aspect-ratio:auto; }
/* The retained 2.1.5 media rules use !important for intrinsic-height galleries.
   Only these new square discovery frames need a bounded contain box. */
.whc-site.whc-site .whc-compact-image .whc-media-frame { height:100% !important; max-height:100% !important; display:flex !important; }
.whc-site.whc-site .whc-compact-image .whc-media-frame > img { height:100% !important; max-height:100% !important; max-width:100% !important; object-fit:contain !important; }
.whc-site .whc-compact-image .whc-fabric-visual { width:100%; height:100%; min-height:0; padding:8px; }
.whc-site .whc-compact-image .whc-fabric-visual b,.whc-site .whc-compact-image .whc-fabric-visual strong { display:none; }
.whc-compact-text { display:block; padding:10px; }
.whc-site .whc-compact-name { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; overflow-wrap:anywhere; font-family:inherit; font-size:13px; line-height:1.4; height:4.2em; font-weight:600; }
.whc-compact-gsm { display:block; margin-top:6px; font-size:12px; line-height:1.4; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:var(--whc-muted,#556472); }
.whc-site .whc-option-link:focus-visible,.whc-similar-track:focus-visible,.whc-site .whc-compact-card:focus-visible,.whc-similar-controls button:focus-visible { outline:2px solid var(--whc-secondary,#b78a45); outline-offset:2px; }
.whc-similar-track.is-dragging { cursor:grabbing; scroll-snap-type:none; user-select:none; }
@media(max-width:700px) {
  .whc-option-links { flex-wrap:nowrap; overflow-x:auto; max-width:100%; padding-bottom:8px; overscroll-behavior-x:contain; scrollbar-width:thin; }
  .whc-site .whc-option-link { padding:8px 10px; font-size:12px; }
  .whc-site .whc-similar { padding:28px 14px 32px; }
  .whc-similar-heading { margin-bottom:12px; }
  .whc-similar-track { gap:8px; }
  .whc-site .whc-compact-card { flex-basis:clamp(82px,26.5vw,136px); }
  .whc-compact-text { padding:8px 6px; }
  .whc-site .whc-compact-name { font-size:11.5px; }
  .whc-compact-gsm { font-size:11px; }
}
@media(prefers-reduced-motion:reduce) { .whc-similar-track { scroll-behavior:auto; } }
