.cuv-gallery{--cuv-blue:#1f3f6d;--cuv-gold:#c39a3b;display:grid;grid-template-columns:78px minmax(0,1fr);gap:14px;width:100%;min-width:0;color:#2b2b2b}
.cuv-gallery:has(.cuv-thumbs[hidden]){grid-template-columns:minmax(0,1fr)}
.cuv-gallery [hidden],.cuv-dialog [hidden],.cuv-zoom[hidden]{display:none!important}
.cuv-thumbs{display:flex;flex-direction:column;gap:10px;max-height:min(680px,76vh);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:3px}
.cuv-thumb{display:block;flex:0 0 auto;border:1px solid #e8e5df;padding:3px;background:#fff;line-height:0}
.cuv-thumb[aria-current=true]{outline:2px solid var(--cuv-gold);outline-offset:-1px}
.cuv-thumb img{width:64px;height:80px;object-fit:contain;display:block}
.cuv-main{min-width:0}.cuv-stage{display:flex;align-items:center;justify-content:center;background:#faf7ef;border:1px solid #e8e5df;height:clamp(350px,65vh,680px);width:100%;touch-action:pan-y;cursor:zoom-in;overflow:hidden}
.cuv-stage .cuv-main-image{display:block;width:100%;height:100%;object-fit:contain;max-width:100%;margin:0;border-radius:0}
.cuv-controls{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 0;flex-wrap:wrap}
.cuv-controls button,.cuv-dialog button{font:inherit;min-height:44px;min-width:44px;padding:8px 12px;border:1px solid #d8d3c8;color:#1f3f6d;background:#fff;border-radius:2px;cursor:pointer;line-height:1.3}
.cuv-controls button:hover,.cuv-dialog button:hover{background:#f3ebdd;color:#1f3f6d}
.cuv-gallery a:focus-visible,.cuv-gallery button:focus-visible,.cuv-dialog button:focus-visible,.cuv-details summary:focus-visible{outline:3px solid #2f5f9e;outline-offset:3px}
.cuv-count{font-size:14px;min-width:48px;text-align:center}.cuv-hint{text-align:center;font-size:13px;line-height:1.5;margin:0;color:#595959}
.cuv-zoom{position:fixed;z-index:999990;pointer-events:none;border:1px solid #c39a3b;box-shadow:0 10px 36px #0003;background-color:#faf7ef;background-repeat:no-repeat}
.cuv-dialog{box-sizing:border-box;width:96vw;max-width:1400px;height:94dvh;max-height:94dvh;padding:16px;border:1px solid #c39a3b;background:#faf7ef;color:#1f3f6d;overflow:hidden}
.cuv-dialog::backdrop{background:rgba(10,20,32,.88)}
.cuv-dialog[open]{display:flex;flex-direction:column;gap:10px}
.cuv-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;flex-shrink:0}
.cuv-dialog-actions{display:flex;gap:8px;align-items:center}
.cuv-dialog-view{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y;position:relative;background:#fff}
.cuv-dialog-canvas{display:flex;justify-content:center;align-items:center;min-width:100%;min-height:100%;width:max-content;height:max-content}
.cuv-dialog-img{display:block;max-width:none!important;max-height:none!important;object-fit:contain;flex:none}
.cuv-dialog-caption{margin:0;font-size:14px;line-height:1.4;text-align:center}
.cuv-field{color:inherit}.cuv-field h3{font-family:inherit;color:#1f3f6d;margin:0 0 12px}.cuv-field p:last-child{margin-bottom:0}
.cuv-details{color:#2b2b2b}.cuv-details h2{color:#1f3f6d}.cuv-details details{border-top:1px solid #e8e5df;padding:18px 0}.cuv-details details:last-child{border-bottom:1px solid #e8e5df}
.cuv-details summary{cursor:pointer;color:#1f3f6d;font-weight:600;min-height:30px}.cuv-details dl{margin:20px 0 0}.cuv-details dl>div{display:grid;grid-template-columns:minmax(130px,30%) minmax(0,1fr);gap:20px;padding:10px 0;border-top:1px solid #eee}
.cuv-details dt{font-weight:600}.cuv-details dd{margin:0}.cuv-details dd p{margin:0 0 8px}
a.cuv-request{display:inline-block;background:#1f3f6d;color:#fff;padding:14px 24px;text-decoration:none;border:1px solid #1f3f6d;font-weight:600;line-height:1.5}a.cuv-request:hover{background:#2f5f9e;color:#fff}
@media(max-width:767px){.cuv-gallery{grid-template-columns:minmax(0,1fr)}.cuv-main{grid-row:1}.cuv-thumbs{grid-row:2;flex-direction:row;max-height:none;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:4px}.cuv-stage{height:clamp(320px,58vh,570px)}.cuv-thumb img{width:56px;height:70px}.cuv-dialog{width:100vw;height:100dvh;max-height:100dvh;margin:0;max-width:100vw;padding:10px}.cuv-dialog-bar{font-size:14px}.cuv-dialog-actions{gap:4px}.cuv-details dl>div{grid-template-columns:1fr;gap:4px}}
