/* 5.8.94: photo → model choice → floor viewer. Shared by SSR and client. */
.npfp-section{background:linear-gradient(125deg,#082b3b,#0c4248);color:#eef7f5;scroll-margin-top:100px;padding:32px;border:1px solid #648182;border-radius:18px}
.npfp-section *,.npfp-viewer *{box-sizing:border-box}
.npfp-section svg,.npfp-viewer svg{width:21px;height:21px;flex-shrink:0}
.npfp-wrap{max-width:1280px;margin:auto}
body.np-home570 #mat-bang-can .npfp-heading{display:block;margin:0 0 20px}
body.np-home570 #mat-bang-can #npfp-heading{margin:0;color:#fff;font:600 32px/1.25 var(--np-heading-font,Georgia,serif);overflow-wrap:anywhere}
body.np-home570 #mat-bang-can .npfp-heading p{margin:10px 0 0;max-width:680px;color:#b8d3d6;font:400 16px/1.6 var(--np-reading-font,system-ui)}
.npfp94-types{display:flex;gap:8px;overflow-x:auto;padding:3px 0 8px;margin:0 0 16px}
.npfp94-types button{flex-shrink:0;white-space:nowrap;min-height:44px;padding:10px 16px;border:1px solid #60878c;border-radius:8px;background:transparent;color:#e6f4f1;font:600 14px/1.4 var(--np-reading-font,system-ui);cursor:pointer}
.npfp94-types button[aria-pressed=true]{background:#edc97d;border-color:#edc97d;color:#10333e}
.npfp94-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:28px;align-items:center}
.npfp94-gallery,.npfp94-summary{min-width:0}
.npfp94-main{aspect-ratio:3/2;border-radius:12px;overflow:hidden;border:1px solid #62818a;background:#082c39}
.npfp94-main>button{width:100%;height:100%;padding:0;border:0;background:transparent;position:relative;display:flex;align-items:center;justify-content:center;cursor:zoom-in;color:#fff}
.npfp94-photo-caption{position:absolute;bottom:10px;left:10px;display:flex;align-items:center;gap:10px;padding:6px 10px;background:#082c39e6;border-radius:5px;font:400 12px/1.4 var(--np-reading-font,system-ui);pointer-events:none}
.npfp94-photo-caption svg{width:16px;height:16px}
.npfp-crop{overflow:hidden;position:relative;width:100%;margin:0;flex-shrink:0;background:#f0f0ed}
.npfp-crop img{position:absolute;max-width:none!important;max-height:none!important;display:block;object-fit:fill!important;margin:0!important;filter:none}
.npfp94-picker-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;margin:14px 0 8px;color:#c4d9da;font:400 12px/1.5 var(--np-reading-font,system-ui)}
.npfp94-swipe{color:#a8c7c9}
.npfp94-thumbs{display:flex;position:relative;gap:10px;overflow-x:auto;padding:3px 2px 8px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#799da1 transparent}
.npfp94-thumbs button{flex:0 0 100px;min-width:0;border:2px solid #547b82;border-radius:8px;padding:3px;background:#0b3543;color:#dcebea;cursor:pointer;scroll-snap-align:center}
.npfp94-thumbs button[aria-pressed=true]{border-color:#efce87;background:#20515a;color:#ffe1a0}
.npfp94-thumbs button>span:last-child{display:block;padding:5px 0 2px;font:600 12px/1.3 var(--np-reading-font,system-ui)}
.npfp94-thumb-image{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;overflow:hidden;border-radius:4px;background:#082c39}
.npfp94-thumb-image .npfp-crop{max-height:100%}
.npfp94-empty{display:grid;place-content:center;justify-items:center;gap:10px;height:100%;color:#bdd5d5;font:400 14px/1.5 var(--np-reading-font,system-ui)}
body.np-home570 #mat-bang-can .npfp94-summary h3{font:600 24px/1.35 var(--np-reading-font,system-ui);color:#fff;margin:0 0 6px;overflow-wrap:anywhere}
.npfp94-code,.npfp94-zone{font:400 13px/1.5 var(--np-reading-font,system-ui);color:#b8d2d4;margin:4px 0;overflow-wrap:anywhere}
.npfp94-summary dl{display:flex;flex-wrap:wrap;gap:14px 24px;margin:20px 0}
.npfp94-summary dt{font:400 12px/1.5 var(--np-reading-font,system-ui);color:#bdd4d6}
.npfp94-summary dd{font:650 17px/1.5 var(--np-reading-font,system-ui);color:#fff;margin:3px 0 0}
.npfp94-pending{font:400 13px/1.5 var(--np-reading-font,system-ui);color:#f0d79f;margin:14px 0}
.npfp94-actions{display:flex;flex-direction:column;gap:10px;margin:20px 0 8px}
.npfp94-actions>a,.npfp94-actions>button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 14px;border:1px solid #edc97d;border-radius:8px;font:650 15px/1.4 var(--np-reading-font,system-ui);text-decoration:none;cursor:pointer}
.npfp94-actions>button{background:#edc97d;color:#12313e}
.npfp94-actions>a{background:transparent;color:#f5d594}
.npfp94-details{font:400 13px/1.5 var(--np-reading-font,system-ui);color:#bad4d6}
.npfp94-details summary{min-height:44px;padding:12px 0;cursor:pointer;font-weight:500}
.npfp94-details>div{display:flex;flex-direction:column;gap:8px;padding:0 0 12px}
.npfp94-details p{margin:0}
.npfp94-details a,.npfp94-details button{color:inherit;text-align:left;background:none;border:0;padding:8px 0;font:inherit;cursor:pointer;min-height:40px}
.npfp-foot{color:#a9c7cc;margin:16px 0 0;font:400 12px/1.6 var(--np-reading-font,system-ui)}
.npfp-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.npfp-section :focus-visible,.npfp-viewer :focus-visible,.np-type-plan:focus-visible{outline:3px solid #eec878;outline-offset:2px}
.np-type-body .np-type-plan{display:inline-flex;color:inherit;font-size:12px;margin-top:9px;text-decoration:none;border-bottom:1px solid currentColor;position:relative;z-index:2}
.npfp-viewer{position:fixed!important;inset:0!important;width:min(1200px,calc(100vw - 32px))!important;height:calc(100dvh - 32px)!important;max-width:none!important;max-height:none!important;margin:auto!important;padding:0!important;border:1px solid #648182!important;border-radius:16px!important;background:#f2f3ef!important;color:#133945!important;overflow:hidden!important;box-sizing:border-box;font-family:var(--np-reading-font,system-ui)}
.npfp-viewer[open]{display:flex!important;flex-direction:column}
.npfp-viewer::backdrop{background:#021722e8}
.npfp-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;background:#103847;color:#fff;flex-shrink:0}
.npfp-viewer-head>div{min-width:0}
.npfp-viewer .npfp-viewer-head h2{font:650 18px/1.3 var(--np-reading-font,system-ui);margin:0 0 4px;color:#fff;overflow-wrap:anywhere}
.npfp-viewer-head p{font:400 12px/1.5 var(--np-reading-font,system-ui);color:#bed6d8;margin:0;overflow-wrap:anywhere}
.npfp-viewer button{min-height:44px;cursor:pointer}
.npfp-close{border:1px solid #729298;background:transparent;color:#fff;border-radius:8px;min-width:76px;padding:8px;flex-shrink:0;font:600 14px/1.4 var(--np-reading-font,system-ui)}
.npfp94-floors{display:flex;position:relative;gap:6px;flex-shrink:0;overflow-x:auto;background:#fff;padding:6px 12px;border-bottom:1px solid #cedbd7}
.npfp94-floors button{flex:0 0 auto;min-width:72px;border:0;border-bottom:3px solid transparent;background:transparent;color:#436873;padding:9px 12px;font:600 14px/1.4 var(--np-reading-font,system-ui)}
.npfp94-floors button[aria-pressed=true]{border-bottom-color:#087d79;background:#e4f1ee;color:#096863}
.npfp-viewport{overflow:auto;flex:1;min-height:80px;overscroll-behavior:contain;touch-action:pan-x pan-y;background:#eceeea;padding:12px}
.npfp-zoom-canvas{margin:auto;box-sizing:border-box}
.npfp94-viewer-footer{background:#fff;padding:8px 16px max(6px,env(safe-area-inset-bottom));flex-shrink:0;max-height:40%;overflow-y:auto}
.npfp94-current{font:500 13px/1.5 var(--np-reading-font,system-ui);margin:0 0 6px;color:#436873}
.npfp-viewer-tools{display:flex;gap:8px;align-items:center}
.npfp-viewer-tools button{border:1px solid #b9cfcb;background:#fff;color:#163d45;border-radius:6px;padding:8px 12px;font:500 13px/1.4 var(--np-reading-font,system-ui);min-width:44px}
.npfp-viewer-tools button:disabled{opacity:.4;cursor:default}
.npfp-zoom-value{font:500 12px/1.4 var(--np-reading-font,system-ui);min-width:38px;text-align:center}
.npfp-viewer .npfp94-details{color:#276b70;font-size:12px}
.npfp-viewer .npfp94-details summary{padding:8px 0;min-height:36px}
.npfp-error{padding:16px;font:500 13px/1.5 var(--np-reading-font,system-ui);color:#7f3a20;background:#fff5e9}
@media(max-width:767px){
 .npfp94-layout{display:flex;flex-direction:column;gap:14px;align-items:stretch}
 .npfp94-types{gap:6px;margin-bottom:12px}
 .npfp94-types button{font-size:13px;padding-inline:12px}
 body.np-home570 #mat-bang-can .npfp-heading{margin-bottom:16px}
 body.np-home570 #mat-bang-can #npfp-heading{font-size:28px}
 body.np-home570 #mat-bang-can .npfp-heading p{font-size:14px;margin-top:8px}
 .npfp94-thumbs button{flex-basis:88px}
 .npfp94-picker-head{margin-top:10px;font-size:11px}
 body.np-home570 #mat-bang-can .npfp94-summary h3{font-size:21px}
 .npfp94-summary dl{margin:14px 0;gap:10px 20px}
 .npfp94-actions{margin-top:14px}
 .npfp-viewer{width:100vw!important;height:100dvh!important;border:0!important;border-radius:0!important}
 .npfp-viewer-head{padding:12px max(12px,env(safe-area-inset-right)) 12px max(12px,env(safe-area-inset-left))}
 .npfp-viewer .npfp-viewer-head h2{font-size:16px}
 .npfp94-floors{padding:4px 8px;gap:2px}
 .npfp94-floors button{padding-inline:10px;min-width:66px}
 .npfp94-viewer-footer{padding-inline:12px}
}
@media(max-height:500px){.npfp-viewer-head{padding-block:6px}.npfp94-viewer-footer{max-height:35%}.npfp94-current{display:none}.npfp-viewer-tools{position:sticky;top:0;background:white}.npfp94-floors{padding-block:0}}
@media(prefers-reduced-motion:reduce){.npfp-section *,.npfp-viewer *{scroll-behavior:auto!important;transition:none!important}}
