/* A real page image is the coordinate surface. No cropping, object-fit cover
 * or separate transform can move the percent-based product hit rectangles. */
/* Catalog chrome follows the 20px content gutter; the PDF itself still fits
 * inside its responsive stage without changing the document controls. */
.v2-catalog-page{width:calc(100% - 40px);max-width:1680px;margin:32px auto;clear:both;color:#252321;letter-spacing:0}
.v2-catalog-page h1{font-size:32px;line-height:1.3;margin:18px 0;overflow-wrap:anywhere;letter-spacing:0}
.v2-catalog-description{max-width:900px;line-height:1.6;margin-bottom:24px}
.v2-catalog-back{display:inline-flex;gap:8px;align-items:center;color:inherit}
.v2-catalog-viewer{max-width:1000px;margin:24px auto;background:#f0f1f2;border:1px solid #d8d5d0;border-radius:4px;overflow:visible}
.v2-catalog-toolbar{position:sticky;top:var(--v2-catalog-header-offset,90px);z-index:5;display:flex;align-items:center;gap:12px;padding:10px 14px;background:#fff;border-bottom:1px solid #d8d5d0;flex-wrap:wrap}
.v2-catalog-page-form{display:flex;align-items:center;gap:8px;margin:0}
.v2-catalog-page-form label{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:400}
.v2-catalog-page-form input[type=number]{box-sizing:border-box;width:65px;min-width:0;padding:8px;border:1px solid #bcb9b5;border-radius:4px;background:#fff;color:#252321;font:inherit;text-align:center}
.v2-catalog-page-form>span{font-size:14px;white-space:nowrap}
.v2-catalog-page-status{margin-left:auto;font-size:12px;color:#536557}
.v2-catalog-motion{display:inline-flex;align-items:center;gap:7px;min-height:32px;margin:0;font-size:13px;font-weight:400;line-height:1.4;cursor:pointer;white-space:nowrap}
.v2-catalog-motion input[type=checkbox]{appearance:auto;position:static;box-sizing:border-box;width:17px;height:17px;margin:0;accent-color:#252321;cursor:inherit}
.v2-catalog-motion[hidden]{display:none}
.v2-catalog-motion:has(input:disabled){opacity:.6;cursor:default}
.v2-catalog-viewer .v2-catalog-arrow,.v2-catalog-viewer .v2-catalog-fullscreen,.v2-catalog-viewer .v2-catalog-jump{display:grid;place-items:center;box-sizing:border-box;flex:0 0 44px;width:44px;height:44px;min-width:0;padding:0;border:0;border-radius:50%;clip-path:none;appearance:none;background:#fbfaf7;color:#2c2118;font-size:20px;line-height:1;box-shadow:0 1px 0 #dedbd5;text-decoration:none;cursor:pointer;letter-spacing:0}
.v2-catalog-viewer .v2-catalog-arrow:hover,.v2-catalog-viewer .v2-catalog-fullscreen:hover,.v2-catalog-viewer .v2-catalog-arrow:focus,.v2-catalog-viewer .v2-catalog-fullscreen:focus{background:#f0eee9;color:#252321}
.v2-catalog-viewer .v2-catalog-arrow[aria-disabled=true]{opacity:.4;pointer-events:none}
.v2-catalog-viewer .v2-catalog-fullscreen[hidden],.v2-catalog-viewer .v2-catalog-jump[hidden]{display:none}
.v2-catalog-viewer :focus-visible{outline:2px solid #252321;outline-offset:3px}
.v2-catalog-stage{padding:14px;min-width:0}
.v2-catalog-canvas{position:relative;width:100%;line-height:0;background:#fff;min-width:0}
/* Restrict only an unzoomed, swipe-capable PDF surface. The page outside it,
 * browser zoom and enlarged-page panning retain native touch behavior. */
.v2-catalog-canvas.is-swipe-ready{touch-action:pan-y pinch-zoom}
.v2-catalog-canvas>img{display:block;width:100%;height:auto;max-width:100%}
.v2-catalog-hotspots{position:absolute;inset:0;pointer-events:none}
.v2-catalog-hotspots a{position:absolute;display:block;box-sizing:border-box;pointer-events:auto;background:rgba(19,104,208,.13);border:1px solid #176bd6;border-radius:1px;text-decoration:none;min-width:0;min-height:0}
.v2-catalog-hotspots a:hover,.v2-catalog-hotspots a:focus-visible{background:rgba(19,104,208,.28);outline:2px solid #124c94;outline-offset:2px}
.v2-catalog-canvas.is-loading .v2-catalog-hotspots,.v2-catalog-canvas.is-error .v2-catalog-hotspots{visibility:hidden}
/* Only disposable page images turn. The real image and percentage-based
 * product rectangles never receive a transform, keeping their coordinates
 * identical in normal view, on mobile and in full screen. */
.v2-catalog-turn{position:absolute;inset:0;z-index:2;overflow:hidden;perspective:1800px;pointer-events:none;background:#fff}
.v2-catalog-turn-base,.v2-catalog-turn-sheet{position:absolute;inset:0;background:#fff}
.v2-catalog-turn-sheet{transform-origin:left center;backface-visibility:hidden;will-change:transform;box-shadow:8px 0 18px #0002}
.v2-catalog-turn-sheet::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0002,transparent 18%,transparent 80%,#0001);pointer-events:none}
.v2-catalog-turn img{display:block;width:100%;height:100%!important;max-width:none;object-fit:contain;user-select:none}
.v2-catalog-canvas.is-turning .v2-catalog-hotspots{visibility:hidden}
/* Proximity reveals only the round control, without blocking PDF hotspots.
 * Touch users and keyboard users always have a discoverable navigation path. */
.v2-catalog-edge{position:absolute;top:var(--catalog-edge-y,50%);z-index:3;transform:translateY(-50%);pointer-events:none;opacity:0;transition:opacity .15s ease}
.v2-catalog-edge--prev{left:10px}.v2-catalog-edge--next{right:10px}
.v2-catalog-edge .v2-catalog-arrow{pointer-events:auto;box-shadow:0 2px 10px #0003}
.v2-catalog-edge .v2-catalog-arrow[hidden]{display:none}
.v2-catalog-canvas.is-near-prev .v2-catalog-edge--prev,.v2-catalog-canvas.is-near-next .v2-catalog-edge--next,.v2-catalog-edge:focus-within{opacity:1}
.v2-catalog-product-dialog{box-sizing:border-box;width:calc(100% - 48px);max-width:1480px;height:calc(100% - 48px);max-height:calc(100% - 48px);padding:0;border:0;border-radius:8px;background:#fff;color:#252321;overflow:hidden;letter-spacing:0}
.v2-catalog-product-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr)}
.v2-catalog-product-dialog::backdrop{background:rgba(20,20,20,.55)}
.v2-catalog-product-header{display:flex;align-items:center;gap:16px;padding:10px 18px;border-bottom:1px solid #dedbd5}
.v2-catalog-product-header h2{flex:1;min-width:0;margin:0;font-size:18px;line-height:1.35;overflow-wrap:normal;word-break:normal}
.v2-catalog-product-dialog iframe{border:0;width:100%;height:100%;min-height:0;background:#fff}
.v2-catalog-product-loading,.v2-catalog-product-error{padding:32px;line-height:1.6;align-self:start}
.v2-catalog-product-error{color:#8d2a20;background:#fff1ef}
.v2-catalog-product-dialog [hidden]{display:none!important}
@media(hover:none),(pointer:coarse){.v2-catalog-edge{opacity:1;top:50%}}
@media(prefers-reduced-motion:reduce){.v2-catalog-edge{transition:none}.v2-catalog-turn{display:none}}
@media(max-width:680px){.v2-catalog-product-dialog{width:calc(100% - 12px);height:calc(100% - 12px);max-height:calc(100% - 12px);border-radius:6px}.v2-catalog-product-header{padding:8px 12px}.v2-catalog-product-header h2{font-size:15px}.v2-catalog-edge--prev{left:6px}.v2-catalog-edge--next{right:6px}}
.v2-catalog-load-error{padding:16px;background:#fff1ef;color:#8d2a20;line-height:1.5}
.v2-catalog-load-error[hidden]{display:none}
.v2-catalog-viewer:fullscreen,.v2-catalog-viewer.is-expanded{width:100%;max-width:none;height:100%;margin:0;border:0;border-radius:0;overflow:auto;background:#f0f1f2}
.v2-catalog-viewer.is-expanded{position:fixed;inset:0;z-index:50000;box-sizing:border-box}
.v2-catalog-viewer:fullscreen .v2-catalog-toolbar,.v2-catalog-viewer.is-expanded .v2-catalog-toolbar{top:0}
.v2-catalog-viewer:fullscreen .v2-catalog-stage,.v2-catalog-viewer.is-expanded .v2-catalog-stage{max-width:none;padding:16px}
.v2-linked-catalog-card{margin:0 0 24px;padding:20px;border:1px solid #e2ddd6;border-radius:4px;background:#faf9f7}
.v2-linked-catalog-card>a:first-child{display:flex;justify-content:center;background:#f1efea}
.v2-linked-catalog-card>a:first-child img{display:block;width:auto;max-width:100%;height:360px;object-fit:contain}
.v2-linked-catalog-card h2{font-size:24px;line-height:1.35;margin:20px 0 12px;overflow-wrap:anywhere;letter-spacing:0}
.v2-linked-catalog-card h2 a{color:#252321;text-decoration:none}
.v2-linked-catalog-card p{font-size:14px;line-height:1.6}
.v2-linked-catalog-read,.v2-linked-catalog-download{display:inline-flex;align-items:center;gap:8px;margin:12px 18px 0 0;color:#252321;font-size:14px}
@media(max-width:680px){.v2-catalog-page{width:calc(100% - 40px);margin:20px auto}.v2-catalog-page h1{font-size:26px}.v2-catalog-toolbar{padding:8px;gap:8px;top:var(--v2-catalog-header-offset,68px)}.v2-catalog-stage{padding:6px}.v2-catalog-page-status{order:5;width:100%;margin:0}.v2-catalog-fullscreen{margin-left:auto}.v2-catalog-page-form{gap:5px}.v2-catalog-page-form label{gap:5px}.v2-catalog-page-form input[type=number]{width:52px}}
/* Keep primary navigation together; the optional effect shares the next
 * toolbar row with the page status instead of displacing full screen. */
@media(max-width:680px){.v2-catalog-motion{order:4}.v2-catalog-page-status{width:auto;flex:1 1 130px;text-align:right}}
@media(max-width:360px){.v2-catalog-toolbar{gap:6px}.v2-catalog-page-form,.v2-catalog-page-form label{gap:4px}.v2-catalog-page-form input[type=number]{width:44px}}
@media print{.v2-catalog-toolbar,.v2-catalog-back,.v2-catalog-turn{display:none}.v2-catalog-viewer{border:0;max-width:none}.v2-catalog-stage{padding:0}}
