/* The generator's howto / controls-purchase / viewer structure is the base. */
html.dzv-linzer-locked,body.dzv-linzer-locked{height:100%!important;overflow:hidden!important;overscroll-behavior:none}
body.dzv-linzer-locked::before{content:'';position:fixed;top:var(--linzer-page-top,0px);left:0;right:0;bottom:0;background:white;z-index:899;pointer-events:none}
body>.dzv-linzer{position:fixed!important;top:var(--linzer-top,0px);left:max(0px,calc((100vw - 1540px)/2))!important;transform:none!important;width:min(1540px,100%)!important;max-width:1540px!important;height:var(--linzer-height,100dvh)!important;min-height:0!important;max-height:var(--linzer-height,100dvh)!important;margin:0!important;padding:8px!important;z-index:900;overflow:hidden;display:grid!important;grid-template-rows:auto minmax(0,1fr);gap:8px}
.dzv-linzer .app{width:100%!important;max-width:100%!important;height:100%!important;max-height:100%;min-height:0!important;grid-template-areas:"controls viewer" "purchase viewer"!important;grid-template-rows:minmax(0,1fr) auto!important;gap:12px!important}
.dzv-linzer .panel{width:100%!important;max-width:100%!important;min-height:0!important;height:100%!important;max-height:100%!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;scrollbar-gutter:stable}
.dzv-linzer>.dzv-howto{margin:0!important;padding:8px 10px!important;border-radius:15px}
.dzv-linzer .dzv-howto-head{margin-bottom:6px}
.dzv-linzer .dzv-howto h2{font-size:16px!important}
.dzv-linzer .dzv-howto-grid{gap:8px}
.dzv-linzer .dzv-howto-card{grid-template-columns:32px minmax(0,1fr);min-height:62px;padding:7px 10px;gap:8px;border-radius:12px}
.dzv-linzer .dzv-howto-icon{width:32px;height:32px;border-radius:9px}
.dzv-linzer .dzv-howto-icon svg{width:20px;height:20px}
.dzv-linzer .dzv-howto-card h3{font-size:12px!important;margin-bottom:1px!important}
.dzv-linzer .dzv-howto-card p{font-size:10px;line-height:1.25}
.dzv-linzer .dzv-howto-limit{font-size:9px;margin-top:2px}
.dzv-linzer .dzv-howto-number{font-size:31px;top:3px;right:7px}
.dzv-linzer .dzv-linzer-preview{position:relative!important;top:auto!important;height:100%!important;min-height:0!important;padding:0!important;display:block;background:radial-gradient(circle at 45% 30%,#fff,#f0f2f6 58%,#e0e4eb)}
.dzv-linzer .dzv-linzer-sale-selector{position:absolute;top:14px;left:14px;right:14px;z-index:5}
.dzv-linzer .dzv-linzer-sale-selector button{min-height:42px;padding:8px}
.dzv-linzer .viewer-toolbar{position:absolute!important;left:14px!important;right:auto!important;top:68px!important;max-width:calc(100% - 380px);padding:0!important;justify-content:flex-start;z-index:4}
.dzv-linzer .toolbar-cluster{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}
.dzv-linzer .dzv-linzer-history{margin:0;gap:6px}
.dzv-linzer .dzv-linzer-history button{background:#f0f2f5!important;color:#1b1d21!important;padding:8px;border:0!important;border-radius:9px!important;min-width:30px}
.dzv-linzer .dzv-linzer-history button:disabled{opacity:.35!important}
.dzv-linzer .viewer-status-stack{top:68px!important;right:14px!important;left:auto!important;width:min(360px,calc(100% - 28px))}
.dzv-linzer .viewer-status-stack .viewer-status{position:static!important;font-size:11px;margin:0!important;padding:9px 11px}
.dzv-linzer [data-retry],.dzv-linzer [data-cart-link]{pointer-events:auto;font-size:12px}
.dzv-linzer [data-cart-link]{background:white;border-radius:10px;padding:6px!important}
.dzv-linzer .dzv-linzer-images{position:absolute;inset:120px 0 90px;height:auto!important;min-height:0!important}
.dzv-linzer .dzv-linzer-labels{top:0!important;inset:0 0 auto!important}
.dzv-linzer [data-live-viewer]{inset:25px 0 0}
.dzv-linzer .viewer-footer{bottom:14px;left:14px;right:14px}
.dzv-linzer .viewer-footer [data-actual-size]{margin:0;font-size:10px}
.dzv-linzer .dzv-linzer-purchase{display:block;grid-area:purchase;padding:12px}
.dzv-linzer .dzv-linzer-purchase .actions{display:grid;gap:10px}
.dzv-linzer .dzv-linzer-purchase button{width:100%;margin:0;line-height:1.3!important}
.dzv-linzer .dzv-linzer-purchase .secondary{min-height:58px;background:#fff!important;color:#555b66!important;border:1px solid var(--line);font-weight:800;font-size:14px}
.dzv-linzer [data-section="summary"]>summary h2{font-size:14px!important;line-height:1.3;margin:0;font-weight:800}
.dzv-linzer [data-section="summary"]>summary{min-height:42px;padding:10px 12px}
.dzv-linzer [data-mobile-nav],.dzv-linzer [data-panel-close]{display:none}
.dzv-linzer .linzer-help{font-size:12px;color:var(--muted);margin:8px 0}
.dzv-linzer .linzer-help summary{cursor:pointer;font-weight:700}
.dzv-linzer .dimension-stepper input{min-width:0;text-align:center}
.dzv-linzer .dimension-stepper button{touch-action:manipulation;min-height:44px}
.dzv-linzer dialog{width:min(460px,calc(100vw - 24px));max-height:85dvh;overflow:auto;border:1px solid var(--line);border-radius:18px;padding:24px;color:var(--text);background:#fff}
.dzv-linzer dialog::backdrop{background:#1b1d2170}
.dzv-linzer dialog h2{font-size:20px;line-height:1.3}
.dzv-linzer dialog>div{display:flex;gap:10px;flex-wrap:wrap}
.linzer-spinner{display:inline-block;width:18px;height:18px;border:3px solid #dfe3e8;border-top-color:var(--accent);border-radius:50%;animation:linzer-spin .8s linear infinite;vertical-align:middle;margin-right:8px}
@keyframes linzer-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.linzer-spinner{animation:none}}
@media(min-width:981px) and (max-width:1350px){.dzv-linzer .viewer-toolbar{max-width:none}.dzv-linzer .viewer-status-stack{top:auto!important;bottom:105px;width:260px}.dzv-linzer .viewer-status-stack .viewer-status{padding:6px 8px}.dzv-linzer .dzv-linzer-images{inset:145px 0 135px}.dzv-linzer .viewer-toolbar button{font-size:11px!important;padding:6px!important}}
@media(min-width:981px) and (max-height:820px){.dzv-linzer .dzv-howto-head{display:none}.dzv-linzer .dzv-howto-card{min-height:54px;padding:5px 8px}.dzv-linzer .dzv-linzer-images{bottom:80px}.dzv-linzer .viewer-footer .legend{font-size:9px}.dzv-linzer .viewer-footer .legend small{display:none}}
@media(max-width:980px){
 body>.dzv-linzer{width:100%!important;max-width:100%!important;border-radius:0;padding:0!important;z-index:9990;display:block!important}
 .dzv-linzer>.dzv-howto{display:none}
 .dzv-linzer .app{padding:6px!important;grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"viewer" "controls"!important;grid-template-rows:minmax(0,1fr) auto!important;height:calc(100% - 66px - env(safe-area-inset-bottom,0px))!important;gap:8px!important}
 .dzv-linzer .dzv-linzer-preview{padding:6px!important;display:flex;flex-direction:column;overflow:hidden}
 .dzv-linzer .dzv-linzer-sale-selector{position:static;flex:none;gap:4px}
 .dzv-linzer .dzv-linzer-sale-selector button{min-height:40px;padding:4px}
 .dzv-linzer .dzv-linzer-sale-selector strong{font-size:11px}
 .dzv-linzer .viewer-status-stack{position:static!important;flex:none;width:100%;margin:4px 0;order:1}
 .dzv-linzer .viewer-status-stack .viewer-status{font-size:10px;padding:5px 7px}
 .dzv-linzer .viewer-toolbar{position:static!important;flex:none;max-width:100%;padding:2px 0!important;order:2}
 .dzv-linzer .toolbar-cluster{flex-wrap:nowrap;width:100%;gap:4px}
 .dzv-linzer .viewer-toolbar .toolbar-card{flex:0 1 auto;flex-wrap:nowrap!important;padding:3px;gap:3px;box-shadow:none}
 .dzv-linzer .viewer-toolbar button{min-height:34px;padding:4px!important;font-size:10px}
 .dzv-linzer .viewer-toolbar [data-home]{font-size:0!important;min-width:25px}
 .dzv-linzer [data-home]::after{content:'↺';font-size:16px}
 .dzv-linzer .dzv-linzer-history button{padding:4px!important;min-width:25px}
 .dzv-linzer .dzv-linzer-images{position:relative;inset:auto;flex:1;height:auto!important;min-height:100px!important;order:3}
 .dzv-linzer .viewer-footer{display:none}
 .dzv-linzer .panel{display:none;max-height:clamp(100px,calc(var(--linzer-height) - 330px),46dvh)!important;height:auto!important;padding:10px!important}
 .dzv-linzer[data-panel]:not([data-panel=""]) .panel{display:block}
 .dzv-linzer .panel .brand,.dzv-linzer .panel .dzv-linzer-back,.dzv-linzer .dzv-linzer-purchase{display:none}
 .dzv-linzer .panel details[data-section]{display:none;margin:0;padding:0;border:0}
 .dzv-linzer[data-panel="shape"] details[data-section="shape"],.dzv-linzer[data-panel="size"] details[data-section="size"],.dzv-linzer[data-panel="color"] details[data-section="color"],.dzv-linzer[data-panel="summary"] details[data-section="summary"]{display:block}
 .dzv-linzer .panel details[data-section]>summary{pointer-events:none}
 .dzv-linzer [data-panel-close]{display:block;margin:0 0 6px auto;padding:6px 10px;font-size:12px}
 .dzv-linzer .panel h2{font-size:14px!important;line-height:1.3}
 .dzv-linzer [data-mobile-nav]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(80px,1.5fr);height:calc(66px + env(safe-area-inset-bottom,0px));padding:5px 4px calc(5px + env(safe-area-inset-bottom,0px));gap:3px;background:white;border-top:1px solid var(--line)}
 .dzv-linzer [data-mobile-nav] button{min-width:0;border:0;border-radius:9px;background:#f0f2f5;color:var(--text);font-size:11px;font-weight:800;overflow-wrap:anywhere;padding:4px}
 .dzv-linzer [data-mobile-nav] button[aria-expanded=true]{background:#fff3e7;color:var(--accent-dark);box-shadow:inset 0 0 0 1px var(--accent)}
 .dzv-linzer [data-mobile-nav] [data-mobile-cart]{background:var(--accent);color:white}
 .dzv-linzer.linzer-keyboard .dzv-linzer-sale-selector,.dzv-linzer.linzer-keyboard .viewer-toolbar{display:none}
 .dzv-linzer.linzer-keyboard .panel{max-height:55dvh!important}
}
@media(max-width:980px) and (max-height:500px){.dzv-linzer .viewer-status-stack{display:none}.dzv-linzer .dzv-linzer-images{min-height:75px!important}.dzv-linzer .panel{max-height:100px!important}.dzv-linzer .dzv-linzer-sale-selector button{min-height:32px}}

/* Keep the site's navigation above this fixed workspace only on Linzer pages. */
body.dzv-linzer-locked .et-l--header{position:relative;z-index:10000!important}
body.dzv-linzer-locked #main-header{z-index:10000!important}
/* Three named colors stay on one row, with native accessible radio inputs. */
.dzv-linzer .dzv-linzer-colors{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px;flex-wrap:nowrap}
.dzv-linzer .dzv-linzer-color{position:relative;min-width:0;display:flex;align-items:center;justify-content:center;gap:4px;padding:9px 4px;font-size:11px;white-space:nowrap}
.dzv-linzer .dzv-linzer-color input{position:absolute;width:1px;height:1px;opacity:0}
.dzv-linzer .dzv-linzer-color:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.dzv-linzer .dzv-linzer-swatch{width:17px;height:17px;flex:0 0 17px}
/* Native top layer keeps the copied cutter notice above both header and canvas. */
.dzv-linzer dialog.linzer-mobile-notice{max-width:none;max-height:none;margin:0;border:0;border-radius:0;background:transparent}
.dzv-linzer dialog.linzer-mobile-notice>div{display:block}
.dzv-linzer dialog.linzer-mobile-notice:not([open]){display:none!important}
.dzv-linzer dialog.linzer-mobile-notice::backdrop{background:transparent}
