/* ME-K185: visual model choice and product-local photo navigation. */
.catalog-toolbar{padding:0 5%;margin:0 0 16px;display:grid;gap:14px;align-items:center}
.catalog-quick{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:8px;min-width:0}
.catalog-model{padding:4px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:500 12px/1.35 Plex,Arial,sans-serif;text-align:left;cursor:pointer;min-width:0;border-radius:3px}
.catalog-model img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;margin-bottom:5px;background:#edf1ef}
.catalog-model span{display:block;padding:0 3px 3px;overflow-wrap:anywhere}
.catalog-model[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.catalog-all{min-height:48px;padding:10px 14px;font:500 14px/1.4 Plex,Arial,sans-serif;cursor:pointer;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:3px;text-align:left;display:none}
.catalog-all svg{width:18px;height:18px;margin-left:8px;vertical-align:middle}
.catalog-toolbar~.collection-picks,.collection-mobile-select,.catalog-gallery .gallery-controls,.catalog-gallery .gallery-discovery{display:none!important}
.photo.catalog-gallery .gallery-heading{background:var(--paper);color:var(--ink);padding:14px 24px;display:flex;justify-content:space-between;min-height:52px;gap:12px}
.catalog-gallery .gallery-caption{font-weight:500}.catalog-gallery .gallery-position{font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}
.catalog-photos{display:flex;gap:10px;padding:14px 24px 0;background:var(--paper);align-items:flex-start;overflow-x:auto;overscroll-behavior-x:contain}
.catalog-photo{flex:0 0 96px;min-height:44px;padding:4px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:12px/1.35 Plex,Arial,sans-serif;cursor:pointer;border-radius:3px;text-align:left}
.catalog-photo img{width:100%;height:54px;object-fit:cover;display:block;margin-bottom:5px;background:#edf1ef}
.catalog-photo span{display:block;padding-inline:3px}
.catalog-photo[aria-current=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.catalog-gallery .collection-pricing{border:0;padding-top:14px;align-items:flex-start}
.catalog-gallery .collection-price{font-size:clamp(20px,2.2vw,28px)}
.catalog-model-dialog{box-sizing:border-box;width:min(880px,calc(100vw - 32px));max-height:85dvh;padding:0;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);overflow:hidden}
.catalog-model-dialog::backdrop{background:#142b36a8}
.catalog-panel-header{position:relative;padding:20px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--paper)}
.catalog-panel-header h2{font:500 22px/1.2 Plex,Arial,sans-serif;margin:0}
.catalog-panel-close{flex:0 0 44px;width:44px;height:44px;background:none;border:1px solid var(--line);border-radius:50%;color:var(--ink);font:28px/1 Plex,Arial,sans-serif;cursor:pointer}
.catalog-panel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:20px 24px 28px;overflow-y:auto;max-height:calc(85dvh - 90px);overscroll-behavior-y:contain}
.catalog-panel-grid .catalog-model{padding:7px;font-size:15px}
.catalog-panel-grid .catalog-model img{aspect-ratio:4/3;margin-bottom:10px}
.catalog-panel-grid .catalog-model span{padding:0 3px 5px}
.catalog-panel-grid .catalog-model small{display:block;font:12px/1.5 Plex,Arial,sans-serif;color:var(--muted);padding:0 3px 5px}
.catalog-model:focus-visible,.catalog-all:focus-visible,.catalog-photo:focus-visible,.catalog-panel-close:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
html.catalog-panel-open{overflow:hidden}
@media(max-width:900px){
 .catalog-toolbar{grid-template-columns:minmax(0,1fr) auto;padding:0 16px;gap:12px}
 .catalog-quick{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .catalog-quick .catalog-model:nth-child(n+3){display:none}
 .catalog-all{display:block;max-width:130px}
 .catalog-model span{font-size:11px}
 .catalog-gallery .gallery-heading{padding:12px 16px}
 .catalog-photos{padding:12px 16px 0;gap:8px}
 .catalog-photo{flex-basis:86px}
 .catalog-model-dialog{position:fixed;inset:auto 0 0;max-height:88dvh;margin:0;width:100%;max-width:100%;border-radius:14px 14px 0 0;border-bottom:0}
 .catalog-panel-header{padding:14px 16px}
 .catalog-panel-header h2{font-size:21px}
 .catalog-panel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px 16px max(24px,env(safe-area-inset-bottom));max-height:calc(88dvh - 74px)}
 .catalog-panel-grid .catalog-model img{aspect-ratio:4/3}
}
@media(max-width:340px){.catalog-toolbar{grid-template-columns:1fr}.catalog-all{max-width:none;text-align:center}.catalog-panel-grid{grid-template-columns:1fr}.catalog-quick .catalog-model span{font-size:12px}}
@media(prefers-reduced-motion:no-preference){.catalog-model-dialog[open]{animation:catalog-reveal .18s ease-out}@keyframes catalog-reveal{from{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}}
