/* Maruzen Product Videos 0.1.0 / scoped to product video gallery only. */
.mzv-gallery{--mzv-blue:#123fad;--mzv-ink:#102653;--mzv-line:#d9e3fb;--mzv-pale:#f4f7ff;min-width:0;clear:both;scroll-margin-top:130px;margin:42px 0;color:var(--mzv-ink)}
.mzv-gallery *, .mzv-dialog *{box-sizing:border-box}
.mzv-gallery [hidden],.mzv-dialog [hidden]{display:none!important}
.mzv-head{display:flex;justify-content:space-between;gap:22px;align-items:flex-end;margin-bottom:24px}
.mzv-head .eyebrow{display:block;margin-bottom:14px;color:#285dff}
.mzv-gallery .mzv-head h2{font-size:clamp(25px,2.4vw,34px);line-height:1.5;margin:0;font-weight:500;letter-spacing:.07em}
.mzv-controls{display:flex;align-items:center;gap:9px;flex:none;padding-bottom:3px}
.mzv-count{font:11px/1.4 Arial,sans-serif;letter-spacing:.1em;color:#526794;min-width:78px;text-align:right;margin-right:10px;font-variant-numeric:tabular-nums}
.mzv-arrow,.mzv-dialog button.mzv-icon-btn{appearance:none;display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--mzv-line,#d9e3fb);border-radius:50%;background:#fff;color:var(--mzv-blue,#123fad);cursor:pointer;transition:background .18s,color .18s,opacity .18s}
.mzv-arrow svg,.mzv-icon-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5}
.mzv-arrow:not(:disabled):hover,.mzv-icon-btn:hover{color:white;background:#123fad;border-color:#123fad}
.mzv-arrow:disabled{opacity:.32;cursor:default}
.mzv-track{display:flex;gap:18px;max-width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:0;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x pan-y;cursor:grab;padding:4px 0 14px;min-width:0;-webkit-overflow-scrolling:touch}
.mzv-track::-webkit-scrollbar{display:none}
.mzv-track.is-dragging{scroll-snap-type:none!important;cursor:grabbing;user-select:none}
.mzv-card{flex:0 0 calc((100% - 36px)/3.35);min-width:0;scroll-snap-align:start;position:relative}
.mzv-card-button{display:block;width:100%;padding:0;margin:0;text-align:left;color:inherit;border:0;border-radius:4px;background:transparent;font:inherit;cursor:pointer;touch-action:pan-x pan-y}
.mzv-poster{display:block;position:relative;overflow:hidden;aspect-ratio:9/16;border-radius:5px;background:linear-gradient(160deg,#1749b4,#0b2d7b);isolation:isolate}
.mzv-poster::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,21,52,.10),transparent 35%,rgba(5,21,52,.55));z-index:1;pointer-events:none}
.mzv-poster img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s ease;z-index:0;user-select:none;-webkit-user-drag:none}
.mzv-poster img[data-mzv-contain]{object-fit:contain;background:#eaf0fa}
.mzv-poster.mzv-image-failed img{display:none}
.mzv-mark{position:absolute;inset:0;display:grid;justify-content:center;align-content:start;padding-top:38%;text-align:center;color:#fff;font:12px/2 Arial,sans-serif;letter-spacing:.2em;z-index:-1}
.mzv-mark b{font-size:21px;letter-spacing:.13em}
.mzv-topline{position:absolute;inset:14px 14px auto;display:flex;align-items:center;justify-content:space-between;gap:8px;z-index:2;color:#fff;font:10px/1.3 Arial,sans-serif;letter-spacing:.14em}
.mzv-topline svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.5}
.mzv-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;border:1px solid rgba(255,255,255,.65);border-radius:50%;display:grid;place-items:center;color:white;background:rgba(18,63,173,.66);box-shadow:0 4px 22px #03154528;backdrop-filter:blur(7px);z-index:2;transition:transform .2s,background .2s}
.mzv-play svg{width:19px;height:19px;fill:currentColor;stroke:none;margin-left:3px}
.mzv-bottomline{position:absolute;inset:auto 15px 17px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#fff;font-size:11px;letter-spacing:.08em}
.mzv-gallery .mzv-title{display:block;font-size:13px;line-height:1.7;margin-top:12px;padding:0 2px;font-weight:600;letter-spacing:.025em;overflow-wrap:anywhere}
.mzv-card-button:hover .mzv-poster img{transform:scale(1.025)}
.mzv-card-button:hover .mzv-play{background:#123fad;transform:translate(-50%,-50%) scale(1.06)}
.mzv-gallery button:focus-visible,.mzv-track:focus-visible,.mzv-dialog button:focus-visible,.mzv-dialog a:focus-visible{outline:3px solid #285dff;outline-offset:3px}
.mzv-footer{display:flex;align-items:center;gap:24px;margin-top:8px}
.mzv-progress{height:2px;flex:1;background:#e4ebfb;overflow:hidden;position:relative}
.mzv-progress span{position:absolute;left:0;top:0;bottom:0;background:#285dff;width:30%;transition:left .14s linear,width .14s linear}
.mzv-hint{flex:none;font-size:11px;color:#536b98;letter-spacing:.02em;display:flex;align-items:center;gap:9px}
.mzv-hint svg{width:30px;height:18px;fill:none;stroke:currentColor;stroke-width:1.2}
.mzv-gallery .mzv-note{font-size:11px;line-height:1.9;color:#7081a2;margin:17px 0 0;overflow-wrap:anywhere}
.mzv-gallery .mzv-demo-tools{border-top:1px solid #d9e3fb;margin-top:22px;padding:12px 0;font:12px/1.9 inherit;color:#526794}
.mzv-demo-tools summary{font-size:11px;cursor:pointer;padding:8px 0;list-style:revert}
.mzv-demo-tools summary::after{display:none!important}
.mzv-tools-body{padding:15px;background:#f4f7ff;border:1px solid #d9e3fb;border-radius:4px;margin-top:10px}
.mzv-tools-body p{font-size:12px;line-height:1.8;margin:0 0 12px!important}
.mzv-tool-fields{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.mzv-tool-fields label{font-size:12px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.mzv-tool-fields input[type=number]{width:70px;padding:6px;font-size:14px;border:1px solid #c5d3f0;background:#fff;color:#102653}
.mzv-tool-fields input[type=file]{max-width:100%;width:240px;font-size:12px;color:#102653}
.mzv-tools-body button{padding:8px 12px;font-size:12px;line-height:1.6;color:#123fad;border:1px solid #bdcdee;background:#fff;border-radius:3px;cursor:pointer}
.mzv-tool-status{font-size:11px;margin-top:12px!important;min-height:20px}
.mzv-dialog{--mzv-blue:#123fad;--mzv-line:#d9e3fb;border:0;border-radius:9px;padding:0;margin:auto;width:min(480px,calc(100vw - 24px));max-width:100%;max-height:calc(100dvh - 28px);color:#102653;background:#fff;box-shadow:0 22px 90px #00113370;overflow:auto}
.mzv-dialog::backdrop{background:rgba(4,19,51,.8);backdrop-filter:blur(5px)}
.mzv-dialog-header{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border-bottom:1px solid #d9e3fb;padding:13px 17px}
.mzv-dialog-header h2{font-size:14px!important;line-height:1.7!important;letter-spacing:.015em!important;margin:0!important;font-family:inherit!important;font-weight:600!important;overflow-wrap:anywhere}
.mzv-dialog button.mzv-icon-btn{width:36px;height:36px;flex:none}
.mzv-view-body{padding:14px;min-height:180px}
.mzv-player{display:block;background:#071732;width:100%;max-height:65dvh;aspect-ratio:9/16;object-fit:contain;border-radius:3px}
.mzv-empty{padding:44px 16px;background:#f4f7ff;text-align:center;font-size:12px;line-height:1.9}
.mzv-empty strong{display:block;font-size:16px;font-weight:600;margin-bottom:10px}
.mzv-consent{padding:32px 17px;background:#f4f7ff;text-align:center;font-size:12px;line-height:1.9}
.mzv-consent button{background:#123fad;color:white;padding:12px 17px;border:0;border-radius:3px;font-size:13px;margin-top:14px;cursor:pointer}
.mzv-consent button:disabled{opacity:.55;cursor:wait}
.mzv-view-link{display:block;text-align:center;font-size:12px;color:#123fad;text-decoration:underline;margin:14px 0 0;padding:5px}
.mzv-view-status{font-size:11px;line-height:1.8;margin:12px 0 0;text-align:center;color:#5c7298}
.mzv-embed-mount iframe,.mzv-embed-mount .instagram-media{min-width:0!important;max-width:100%!important;width:100%!important;margin:0!important}
.mzv-view-foot{display:flex;align-items:center;justify-content:center;gap:24px;padding:11px 17px 16px;border-top:1px solid #e6edfc;font-size:12px;font-variant-numeric:tabular-nums}
.mzv-view-foot span{min-width:45px;text-align:center}
.mzv-view-foot button:disabled{opacity:.3;cursor:default}
@media(max-width:767px){
.mzv-gallery{scroll-margin-top:100px;margin:30px 0}.mzv-head{gap:12px;margin-bottom:19px}.mzv-gallery .mzv-head h2{font-size:23px;letter-spacing:.015em}.mzv-head .eyebrow{font-size:9px;letter-spacing:.13em;margin-bottom:12px}.mzv-controls{gap:6px;padding:0}.mzv-count{display:none}.mzv-arrow{width:37px;height:37px}.mzv-track{gap:13px;padding-bottom:9px}.mzv-card{flex-basis:76%}.mzv-topline{inset:13px 12px auto}.mzv-gallery .mzv-title{font-size:13px;margin-top:10px}.mzv-footer{gap:16px}.mzv-hint{font-size:10px}.mzv-note{font-size:10px!important}.mzv-demo-tools{margin-top:17px!important}.mzv-dialog-header{padding:11px 12px}.mzv-view-body{padding:10px}.mzv-play{width:55px;height:55px}}
@media(max-width:359px){.mzv-gallery .mzv-head h2{font-size:20px;letter-spacing:0}.mzv-arrow{width:32px;height:32px}.mzv-controls{gap:4px}.mzv-card{flex-basis:80%}}
@media(prefers-reduced-motion:reduce){.mzv-gallery *,.mzv-dialog *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
