/* SET STANDARD · shared sample viewer (audit 2026-10-24, Entrega 3). Used by /, /assessments/, /maritime/, /en/<guide>/ */
#viewer.ssv{position:fixed;inset:0;z-index:1000;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:8px;height:100vh;height:100dvh;
  padding:calc(8px + env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));
  background:#050b16;color:#eef3fb;font:400 15px/1.45 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;grid-template-columns:minmax(0,1fr)}
#viewer.ssv[hidden]{display:none!important}
#viewer.ssv>*{min-width:0;max-width:1100px;width:100%;margin:0 auto}
#viewer.ssv button,#viewer.ssv .ssv-btn{font:600 13px/1 Inter,system-ui,sans-serif;color:#eef3fb;background:rgba(255,255,255,.06);border:1px solid #2b4268;border-radius:6px;
  min-height:44px;min-width:44px;padding:0 14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none}
#viewer.ssv button:hover,#viewer.ssv .ssv-btn:hover{border-color:#6aa6f0}
#viewer.ssv button:focus-visible,#viewer.ssv a:focus-visible{outline:3px solid #C9A96A;outline-offset:2px}
#viewer.ssv button[disabled]{opacity:.4;cursor:default}
.ssv .viewer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.ssv .viewer-top>div{min-width:0}
#viewer.ssv #v-title{border:0;padding:0;margin:0;font:600 17px/1.25 Montserrat,Inter,sans-serif;text-transform:none;letter-spacing:0;white-space:normal;overflow:visible}
.ssv #v-meta{margin:3px 0 0;font:500 12px/1.4 "B612 Mono",ui-monospace,monospace;letter-spacing:.04em;color:#c6d2e6}
.ssv #v-close{flex:none}
.ssv .ssv-tabs-wrap{position:relative}
.ssv .ssv-tabs-wrap::after{content:"";position:absolute;top:0;right:0;bottom:0;width:28px;pointer-events:none;background:linear-gradient(90deg,transparent,#050b16)}
.ssv .ssv-tabs-wrap.end::after{display:none}
.ssv #v-tabs{display:flex;gap:6px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;padding:2px 28px 4px 2px;justify-content:flex-start}
.ssv #v-tabs button{flex:none;scroll-snap-align:start;font:600 11.5px/1 Montserrat,Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;border-radius:4px;background:rgba(255,255,255,.08);border-color:transparent}
.ssv #v-tabs button[aria-selected="true"]{background:#9fc1ee;color:#091425}
.ssv .viewer-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;overflow:hidden;border-radius:4px}
.ssv .viewer-stage.zoom{overflow:auto;align-items:flex-start;justify-content:flex-start;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y pinch-zoom}
.ssv #v-img{display:block;max-width:min(100%,900px);max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:4px;box-shadow:0 20px 50px rgba(0,0,0,.6);user-select:none;-webkit-user-drag:none;cursor:zoom-in;transition:opacity .15s}
.ssv .viewer-stage.zoom #v-img{max-width:none!important;max-height:none;cursor:zoom-out;margin:0 auto}
.ssv .viewer-stage.loading #v-img,.ssv .viewer-stage.error #v-img{opacity:0}
.ssv .ssv-status{position:absolute;inset:0;display:none;place-items:center;text-align:center;padding:20px;color:#c6d2e6}
.ssv .viewer-stage.loading .ssv-status,.ssv .viewer-stage.error .ssv-status{display:grid}
.ssv .ssv-spin{width:34px;height:34px;border-radius:50%;border:3px solid rgba(159,193,238,.25);border-top-color:#9fc1ee;animation:ssvspin .9s linear infinite;margin:0 auto 10px}
@keyframes ssvspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.ssv .ssv-spin{animation:none}#viewer.ssv #v-img{transition:none}}
.ssv .viewer-stage .nav{display:none!important}
.ssv .ssv-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.ssv .ssv-nav,.ssv .ssv-zoom{display:flex;gap:6px;align-items:center}
.ssv #v-count{font:500 12px "B612 Mono",ui-monospace,monospace;color:#9fb3d3;min-width:4.5em;text-align:center}
.ssv #v-strip{display:flex;gap:8px;overflow-x:auto;padding:2px 0 2px;justify-content:center}
.ssv #v-strip button{padding:0;min-width:44px;border-radius:3px;border:2px solid transparent;flex:none;line-height:0;background:none}
.ssv #v-strip button[aria-current="true"]{border-color:#6aa6f0}
.ssv #v-strip img{height:56px;width:auto;border-radius:2px;display:block}
.ssv .ssv-foot{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between}
.ssv .viewer-note{margin:0;font-size:12.5px;color:#9fb3d3}
#viewer.ssv #v-notify{background:#C9A96A;color:#0A1424;border-color:#C9A96A;font-weight:700;letter-spacing:.04em}
.ssv #v-notify[hidden]{display:none}
@media (max-width:600px){
  #viewer.ssv{gap:6px}
  .ssv #v-title{font-size:15px}
  .ssv #v-strip{display:none}
  .ssv .ssv-zoom .ssv-lbl{display:none}
  .ssv .ssv-foot{justify-content:center}
  .ssv .viewer-note{text-align:center;width:100%}
}
@media (max-height:520px) and (orientation:landscape){
  #viewer.ssv{grid-template-rows:auto auto minmax(0,1fr) auto}
  .ssv #v-strip,.ssv .viewer-note{display:none}
}
/* floating elements must not cover the dialog */
body.ss-dialog-open .totop,body.ss-dialog-open .ss-totop,body.ss-dialog-open .dock,body.ss-dialog-open .nav-dd-menu{display:none!important}
body.ss-dialog-open{overflow:hidden}
