.collection-catalog-entry{padding:18px 0;border-bottom:1px solid var(--line,#d0ccc2)}
.collection-catalog-entry .collection-catalog-download{border:0;padding:0;text-decoration:none}
.collection-catalog-text{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.collection-catalog-download .collection-catalog-text span{flex:initial}
.collection-catalog-name{font-size:.82em;color:var(--muted,#6b6a61)}
.collection-catalog-open{display:inline-flex;align-items:center;gap:12px}
.catalog-viewer{box-sizing:border-box;width:min(1440px,96vw);max-width:none;height:94dvh;max-height:none;margin:auto;padding:0;border:1px solid #c8c3b8;background:#f5f3ed;color:#171815;box-shadow:0 24px 100px #0005;overflow:hidden}
.catalog-viewer::backdrop{background:#171815b8;backdrop-filter:blur(4px)}
.catalog-viewer-shell{height:100%;display:flex;flex-direction:column}
.catalog-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 28px;border-bottom:1px solid #d8d3c7;flex:none}
.catalog-viewer-header .eyebrow{font-size:10px;letter-spacing:.2em;margin:0 0 5px;color:#81715b}
.catalog-viewer-header h2{font-family:inherit;font-size:clamp(17px,2vw,24px);line-height:1.25;font-weight:400;margin:0;overflow-wrap:anywhere}
.catalog-viewer-actions{display:flex;align-items:center;gap:24px;flex:none}
.catalog-viewer-download{display:flex;align-items:center;gap:12px;white-space:nowrap;font-size:14px;color:inherit;text-decoration:underline;text-underline-offset:5px}
.catalog-viewer button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;border-radius:0}
.catalog-viewer button:disabled{cursor:default;opacity:.3}
.catalog-viewer button:focus-visible,.catalog-viewer a:focus-visible,.catalog-viewer input:focus-visible{outline:2px solid #8d7451;outline-offset:4px}
.catalog-viewer-close{width:44px;height:44px;border:1px solid #ccc7bd;background:transparent;font-size:30px!important;line-height:1;flex:none}
.catalog-viewer-stage{position:relative;flex:1;min-height:0;overflow:auto;background:#e9e5dc;display:flex;align-items:center;justify-content:center;padding:18px 12px;perspective:1800px;overscroll-behavior:contain}
.catalog-viewer-paper{position:relative;flex:none;line-height:0;background:white;box-shadow:0 8px 28px #30271833,0 1px 4px #30271830;perspective:1800px}
.catalog-viewer-paper[hidden]{display:none}
.catalog-viewer-paper::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#3b2d1812,transparent 2%,transparent 98%,#3b2d1809)}
.catalog-viewer-paper canvas{display:block;max-width:none}
.catalog-viewer-leaf{position:absolute;top:0;width:50%;height:100%;z-index:2;transform-style:preserve-3d;will-change:transform}
.catalog-viewer-leaf.turn-forward{left:50%;transform-origin:left center}
.catalog-viewer-leaf.turn-backward{left:0;transform-origin:right center}
.catalog-viewer-leaf-front,.catalog-viewer-leaf-back{position:absolute;inset:0;background:white;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 2px 12px #30271826}
.catalog-viewer-leaf-front{transform:translateZ(.1px)}
.catalog-viewer-leaf-back{transform:rotateY(180deg) translateZ(.1px)}
.catalog-viewer-leaf-front::after,.catalog-viewer-leaf-back::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#30271813,transparent 8%,transparent 92%,#30271809)}
.catalog-viewer.is-zoomed .catalog-viewer-stage{display:block;text-align:left;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:auto}
.catalog-viewer.is-zoomed .catalog-viewer-stage.is-panning{cursor:grabbing}
.catalog-viewer.is-zoomed .catalog-viewer-paper{display:block;width:max-content;margin:0 auto}
.catalog-viewer-notice{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:max-content;max-width:85%;text-align:center}
.catalog-viewer-original{display:inline-block;margin-top:16px;color:inherit;font-size:13px;text-underline-offset:4px}.catalog-viewer-original[hidden]{display:none}
.catalog-viewer-message{padding:16px 24px;background:#f7f5eff2;color:#4b493f;box-shadow:0 3px 20px #0001;font-size:14px;line-height:1.6;text-align:center}
.catalog-viewer-message[hidden]{display:none}
.catalog-viewer-message.is-error{max-width:440px}
.catalog-viewer-footer{display:flex;align-items:center;justify-content:center;gap:16px;position:relative;flex:none;padding:14px 24px;border-top:1px solid #d8d3c7;min-height:72px}
.catalog-viewer-prev,.catalog-viewer-next{display:grid;place-items:center;width:44px;height:44px;background:#171815!important;color:#fff!important;border:1px solid #171815}
.catalog-viewer-prev svg,.catalog-viewer-next svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5}
.catalog-viewer-pages{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;white-space:nowrap}
.catalog-viewer-pages input{box-sizing:border-box;width:62px;height:40px;padding:5px;text-align:center;border:1px solid #c8c3b8;background:#fffdfa;font:inherit;color:inherit;-moz-appearance:textfield}
.catalog-viewer-pages input::-webkit-inner-spin-button,.catalog-viewer-pages input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.catalog-viewer-zoom{position:absolute;right:24px;min-height:44px;padding:8px 14px;font-size:13px!important;background:transparent;border:1px solid #c8c3b8}
.catalog-viewer .sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){
 .catalog-viewer{width:100%;height:100dvh;border:0}
 .catalog-viewer-header{padding:calc(14px + env(safe-area-inset-top)) 16px 14px;gap:12px;align-items:flex-start}
 .catalog-viewer-header .eyebrow{font-size:9px}
 .catalog-viewer-actions{gap:12px;align-items:flex-start}
 .catalog-viewer-download{font-size:12px;gap:5px;padding-top:12px}
 .catalog-viewer-close{width:40px;height:40px}
 .catalog-viewer-footer{padding:12px 12px calc(12px + env(safe-area-inset-bottom));gap:8px;flex-wrap:wrap}
 .catalog-viewer-zoom{position:static;padding:8px 10px;font-size:12px!important;margin-left:4px}
 .catalog-viewer-pages{gap:5px;font-size:12px}
 .catalog-viewer-pages label{display:none}
 .catalog-viewer-pages input{width:48px}
}
@media(prefers-reduced-motion:reduce){.catalog-viewer-leaf{will-change:auto}}
