.fsm-catalogue{--fsm-ink:#202020;--fsm-muted:#5b5b5b;--fsm-line:#ddd;--fsm-surface:#f5f5f3;color:var(--fsm-ink);font-family:inherit;width:100%}
.fsm-catalogue *,.fsm-catalogue *:before,.fsm-catalogue *:after{box-sizing:border-box}
.fsm-catalogue a{color:inherit;text-underline-offset:4px}
.fsm-catalogue button{font-family:inherit;font-size:14px;cursor:pointer;min-width:44px;min-height:44px;color:var(--fsm-ink)}
.fsm-catalogue a:focus-visible,.fsm-catalogue button:focus-visible{outline:2px solid var(--fsm-ink);outline-offset:4px}
.fsm-catalogue__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 24px}
.fsm-catalogue__card{min-width:0;margin:0}
.fsm-catalogue__open{display:block;text-decoration:none!important}
.fsm-catalogue__photo{aspect-ratio:1;position:relative;overflow:hidden;background:var(--fsm-surface)}
.fsm-catalogue .fsm-catalogue__photo img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .25s ease-out}
.fsm-catalogue__view{position:absolute;inset:auto 0 0;display:flex;align-items:center;justify-content:space-between;background:#202020;color:white;padding:12px 16px;opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s;font-size:13px}
.fsm-catalogue__open:hover .fsm-catalogue__view,.fsm-catalogue__open:focus-visible .fsm-catalogue__view{opacity:1;transform:translateY(0)}
.fsm-catalogue__open:hover img{transform:scale(1.025)}
.fsm-catalogue .fsm-catalogue__name{font-family:inherit;font-size:16px;line-height:1.45;font-weight:500;margin:12px 0 0;overflow-wrap:anywhere;letter-spacing:0}
.fsm-catalogue__dialog{padding:0;border:0;background:#fff;color:var(--fsm-ink);width:min(1160px,calc(100% - 64px));max-width:none;max-height:90dvh;margin:auto;overflow:auto;box-shadow:0 18px 60px #0003}
.fsm-catalogue__dialog::backdrop{background:rgba(0,0,0,.65)}
.fsm-catalogue__bar{position:sticky;top:0;z-index:2;background:white;display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-bottom:1px solid var(--fsm-line)}
.fsm-catalogue__bar button{border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px;border-radius:0}
.fsm-catalogue__bar button:hover{background:var(--fsm-surface)}
.fsm-catalogue__bar button:disabled{opacity:.3;cursor:default}
.fsm-catalogue__navigation{display:flex;align-items:center;gap:8px}
.fsm-catalogue__position{font-size:13px;min-width:52px;text-align:center;font-variant-numeric:tabular-nums}
.fsm-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;padding:32px}
.fsm-detail__media,.fsm-detail__body{min-width:0}
.fsm-detail__enlarge{display:block;text-align:center;text-decoration:none!important}
.fsm-detail__enlarge>span{display:inline-block;margin-top:12px;font-size:12px;color:var(--fsm-muted);text-decoration:underline;text-underline-offset:3px}
.fsm-catalogue .fsm-detail__image{display:block;width:100%;height:auto;max-height:64dvh;aspect-ratio:1;object-fit:contain;background:var(--fsm-surface)}
.fsm-detail__thumbs{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.fsm-detail__thumb{border:1px solid transparent;background:transparent;padding:3px;width:64px;height:64px;border-radius:0}
.fsm-detail__thumb[aria-pressed=true]{border-color:var(--fsm-ink)}
.fsm-detail__thumb img{display:block;width:100%;height:100%;object-fit:contain}
.fsm-catalogue .fsm-detail__title{font-family:inherit;font-size:clamp(24px,3vw,34px);font-weight:500;line-height:1.2;margin:0 0 10px;overflow-wrap:anywhere;letter-spacing:-.015em}
.fsm-detail__category{font-size:13px;color:var(--fsm-muted);margin:0 0 24px}
.fsm-detail__description{font-size:15px;line-height:1.7;overflow-wrap:anywhere;max-width:70ch}
.fsm-detail__description>p:first-child{margin-top:0}
.fsm-detail__description ul,.fsm-detail__description ol{padding-left:22px}
.fsm-detail__description img{max-width:100%;height:auto}
.fsm-detail__description table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}
.fsm-detail__description td,.fsm-detail__description th{padding:8px;border-bottom:1px solid var(--fsm-line)}
.fsm-detail__contact{display:inline-block;border-bottom:1px solid currentColor;text-decoration:none!important;font-weight:500;font-size:14px;margin-top:24px;padding:8px 0}
.fsm-catalogue--single{max-width:1200px;margin:60px auto;padding:0 24px}
.fsm-catalogue--single .fsm-detail{padding:0}
html.fsm-catalogue-open{overflow:hidden}
@media(max-width:1024px){.fsm-catalogue__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 18px}.fsm-detail{gap:24px;padding:24px}}
@media(max-width:640px){.fsm-catalogue__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.fsm-catalogue .fsm-catalogue__name{font-size:14px}.fsm-catalogue__view{display:none}.fsm-catalogue__dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.fsm-catalogue__bar{padding:6px 10px}.fsm-detail{grid-template-columns:minmax(0,1fr);padding:20px;gap:28px}.fsm-catalogue .fsm-detail__image{max-height:45dvh}.fsm-catalogue--single{margin:32px auto;padding:0 20px}}
@media(prefers-reduced-motion:reduce){.fsm-catalogue *{scroll-behavior:auto!important;transition:none!important}}
