/* Shared application resources and PDF.js readers with static previews. */
.project-equipment{margin:40px 0 55px;border-top:1px solid #5b5b5b;padding-top:30px}
.project-equipment h2{font-size:clamp(1.8rem,3vw,2.6rem);margin:12px 0 24px}
.equipment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:18px}
.equipment-card{margin:0;border:1px solid #505050;background:#222;min-width:0}
.equipment-card>a{display:block;background:#fff}
.equipment-card img{display:block;width:100%;height:auto;max-height:460px;object-fit:contain;padding:18px;box-sizing:border-box}
.equipment-card figcaption{padding:22px}
.equipment-card h3{font-size:1.2rem;margin:0 0 18px;color:#fff}
.sample-layout-optional{grid-template-columns:1fr;margin-top:36px}
.sample-layout-optional aside{position:static}
.sample-layout-optional .tool-links{display:flex;flex-wrap:wrap}
.sample-original{border:1px solid #505050;background:#222}
.sample-original>summary{padding:16px 22px;min-height:44px;box-sizing:border-box;cursor:pointer;color:#fff;font-size:16px;font-weight:700;line-height:1.5}
.sample-original>summary:hover{background:#532b27}
.sample-original>summary:focus-visible{outline:3px solid #ff775a;outline-offset:3px}
.sample-original>section{padding:22px}
.sample-original .sample-actions{margin-top:0}
.project-drawings{margin:40px 0 55px;padding:30px 0;border-top:1px solid #5b5b5b}
.project-drawings h2{font-size:clamp(1.8rem,3vw,2.6rem);margin:12px 0 24px}
.drawing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.drawing-grid-pdf{grid-template-columns:1fr;gap:28px}
.drawing-card{background:#222;border:1px solid #505050;min-width:0}
.drawing-cover{display:block;background:#fff;border-bottom:1px solid #505050;overflow:hidden}
.drawing-cover img{display:block;width:100%;height:clamp(220px,24vw,320px);object-fit:contain;padding:12px;box-sizing:border-box;margin:0}
.drawing-cover:focus-visible{outline:3px solid #ff775a;outline-offset:3px}
.drawing-copy{padding:22px}
.drawing-meta{color:#ee795b;font-size:14px;font-weight:700;letter-spacing:.04em}
.drawing-copy h3{font-size:1.2rem;line-height:1.5;margin:8px 0 20px;color:white}
.drawing-actions{display:flex;gap:8px;flex-wrap:wrap}
.drawing-actions a,.viewer-actions>a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border:1px solid #aa4433;color:white;text-decoration:none;font-size:14px;font-weight:700;line-height:1.5}
.drawing-actions a:first-child{background:linear-gradient(105deg,#c6262d,#dc4a30)}
.drawing-actions a:hover,.viewer-actions>a:hover{background:#532b27;border-color:#ed6a46}
.drawing-pdf-open{display:inline-block;color:#ddd;margin-top:16px;font-size:14px}
.drawing-pdf-preview{display:block;background:#fff;border-top:1px solid #505050;overflow:hidden}
.drawing-pdf-preview img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;margin:0;padding:8px;box-sizing:border-box}
.application-drawings{background:#202020;padding:17px;border:1px solid #505050;border-top:0}
.application-drawings strong{display:block;font-size:14px;line-height:1.6;margin-bottom:10px;color:#f0f0f0}
.application-drawings>div+div{margin-top:18px;padding-top:16px;border-top:1px solid #505050}
.application-drawings .drawing-actions a{font-size:14px;padding:8px 10px}
.sample-card-bundle{display:flex;flex-direction:column;min-width:0}
.sample-card-bundle>.sample-card{flex:1}
.sample-card-bundle .sample-card h3{margin-bottom:16px}
.drawing-viewer{padding-top:32px;padding-bottom:50px}
.drawing-back{color:#ddd;text-decoration:underline;font-size:14px}
.drawing-viewer h1{font-size:clamp(1.5rem,3.5vw,2.6rem);line-height:1.3;margin:18px 0 22px}
.viewer-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}
.pdf-reader{border:1px solid #555;background:#292929}
.pdf-reader-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;flex-wrap:wrap;border-bottom:1px solid #555}
.pdf-page-number{color:#eee;font-size:14px;font-weight:700}
.pdf-zoom-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pdf-zoom-controls button{min-width:44px;min-height:44px;padding:8px 14px;border:1px solid #aa4433;background:#333;color:white;font:700 14px/1.5 system-ui;cursor:pointer}
.pdf-zoom-controls button:hover{background:#532b27;border-color:#ed6a46}
.pdf-zoom-controls button:disabled{opacity:.45;cursor:default}
.pdf-zoom-controls output{color:#fff;font-size:14px;min-width:54px;text-align:center}
.pdf-reader-viewport{height:clamp(400px,72vh,1000px);padding:12px;box-sizing:border-box;overflow:auto;background:#454545;cursor:grab;overscroll-behavior:contain}
.pdf-reader-viewport.dragging{cursor:grabbing;user-select:none}
.pdf-page-shell{position:relative;max-width:none;width:100%;margin:0 auto;background:#fff}
.pdf-page-shell .pdf-fallback{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;padding:0;margin:0;user-select:none;-webkit-user-drag:none}
.pdf-page-shell canvas{display:block;width:100%;height:100%}
.pdf-page-shell[data-rendered=true] .pdf-fallback{display:none}
.pdf-reader-status{margin:0;padding:10px 14px;font-size:14px;line-height:1.6;color:#ddd;border-top:1px solid #555}
.pdf-reader-viewport:focus-visible,.pdf-zoom-controls button:focus-visible{outline:3px solid #ff775a;outline-offset:3px}
.drawing-help,.drawing-source,.drawing-status{font-size:14px;line-height:1.7;color:#ccc}
.drawing-source{overflow-wrap:anywhere}
.drawing-status{display:block;flex-basis:100%;margin:10px 0 0}
.drawing-actions [aria-busy=true]{opacity:.75;cursor:progress}
.drawing-actions a:focus-visible,.drawing-pdf-open:focus-visible,.viewer-actions>a:focus-visible,.drawing-back:focus-visible{outline:3px solid #ff775a;outline-offset:3px}
[hidden]{display:none!important}
@media(max-width:750px){
 .drawing-grid{grid-template-columns:1fr}
 .drawing-copy{padding:18px}
 .viewer-actions .drawing-actions{width:100%}
 .drawing-viewer{padding-top:24px}
 .pdf-reader-viewport{height:65vh;min-height:360px}
 .pdf-reader-toolbar{padding:10px}
 .pdf-zoom-controls button{padding:8px 10px}
}
