/* 2.0.0-staging: scoped experimental UI; original assets are untouched. */
.dzv-mobile-v2 #fontPicker { display:flex; align-items:center; gap:8px; }
.dzv-mobile-v2 #fontPicker .dzv-font-grid { flex:1; min-width:0; }
.dzv-mobile-v2 .dzv-v2-font-hint { flex:0 0 25px; font:700 18px/1 Arial,sans-serif; color:#555b64; }
.dzv-mobile-v2 .dzv-font-sample { font-size: 21px; text-transform: none; }
.dzv-mobile-v2 .dzv-v2-ideas { margin: 8px 0 12px; }
.dzv-mobile-v2 .dzv-v2-ideas summary { cursor: pointer; font-size: 16px; font-weight: 700; padding: 12px; border: 1px solid #dddfe4; border-radius: 12px; background: white; }
.dzv-mobile-v2 .dzv-v2-idea-list { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding-top: 8px; }
.dzv-mobile-v2 .dzv-v2-idea-list button { min-height: 48px; padding: 8px; border: 1px solid #dddfe4; border-radius: 12px; background: white; color: #222; font-size: 14px; }
.dzv-mobile-v2 .dzv-v2-done { display: none; }
@media (max-width: 760px) {
 .dzv-mobile-v2 .dzv-mobile-shell { --dzv-nav-expanded: 122px; --dzv-nav-compact: 122px; background: #f4f5f7; }
 .dzv-mobile-v2 .dzv-mobile-nav, .dzv-mobile-v2 .dzv-mobile-nav.dzv-mobile-nav-no-mode { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); grid-template-rows: 58px 56px; gap: 4px; padding: 4px 8px calc(4px + env(safe-area-inset-bottom,0px)); background: #fff; border-top: 1px solid #e2e4e8; }
 .dzv-mobile-v2 .dzv-mobile-nav button, .dzv-mobile-v2 .dzv-mobile-shell.is-panel-open .dzv-mobile-nav button { min-height: 48px; padding: 4px; border-radius: 12px; }
 .dzv-mobile-v2 .dzv-mobile-nav button span, .dzv-mobile-v2 .dzv-mobile-shell.is-panel-open .dzv-mobile-nav button span { font-size: 15px; font-weight: 700; line-height: 1.2; }
 .dzv-mobile-v2 .dzv-mobile-nav button svg, .dzv-mobile-v2 .dzv-mobile-shell.is-panel-open .dzv-mobile-nav button svg { width: 22px; height: 22px; }
 .dzv-mobile-v2 .dzv-mobile-nav [data-panel="summary"] { grid-column: 1 / -1; flex-direction: row; justify-content: space-between; background: #e60012; color: white; padding: 0 16px !important; }
 .dzv-mobile-v2 .dzv-mobile-nav [data-panel="summary"] svg, .dzv-mobile-v2 .dzv-mobile-nav [data-action="cart"] { display: none !important; }
 .dzv-mobile-v2 .dzv-v2-price { font-size: 16px; }
 .dzv-mobile-v2 .dzv-mobile-sheet { border-radius: 22px 22px 0 0; }
 .dzv-mobile-v2 .dzv-mobile-sheet-head h2 { font-size: 20px; }
 .dzv-mobile-v2 .dzv-mobile-sheet-head { min-height: 48px; }
 .dzv-mobile-v2 .dzv-mobile-sheet-close, .dzv-mobile-v2 .dzv-mobile-panel-help-button { min-width: 44px; min-height: 44px; }
 .dzv-mobile-v2 .dzv-mobile-sheet label { font-size: 15px; }
 .dzv-mobile-v2 .shape-choice { min-width: 68px; }
 .dzv-mobile-v2 .shape-choice span { font-size: 13px; }
 .dzv-mobile-v2 .view-toolbar-card button { min-height: 44px !important; font-size: 14px !important; }
 .dzv-mobile-v2 .view-toolbar-card #resetAllBtn { display: none !important; }
 .dzv-mobile-v2 .view-toolbar-card #undoBtn { font-size: 14px !important; width: auto !important; padding: 0 10px !important; }
 .dzv-mobile-v2 .view-toolbar-card #redoBtn { display: none !important; }
 .dzv-mobile-v2 .dzv-mobile-stage .viewer-toolbar > .dzv-mobile-status-popover { font-size: 14px !important; }
 .dzv-mobile-v2.dzv-v2-editing .dzv-v2-done { display: block; min-height: 44px; min-width: 60px; border: 0; border-radius: 12px; background: #e60012; color: white; font-size: 16px; font-weight: 700; }
 .dzv-mobile-v2.dzv-mobile-keyboard-open .dzv-v2-ideas { display: none; }
 .dzv-mobile-v2.dzv-mobile-keyboard-open #autoWrap { min-height: 24px; }
 .dzv-mobile-v2.dzv-mobile-keyboard-open .dzv-mobile-sheet-head { min-height: 40px; }
 .dzv-mobile-v2.dzv-mobile-keyboard-open .dzv-mobile-sheet { max-height: 170px !important; }
 .dzv-mobile-v2.dzv-mobile-keyboard-open .dzv-mobile-sheet-content { max-height: 106px !important; }
}

.dzv-mobile-v2 .dzv-v2-purchase { width: 100%; min-height: 52px; margin: 14px 0; padding: 12px; border: 0; border-radius: 14px; background: #e60012; color: white; font-size: 17px; font-weight: 700; }
.dzv-mobile-v2 .dzv-v2-purchase:disabled { opacity: .45; }
@media(max-width:760px) {
 .dzv-mobile-v2 .dzv-mobile-nav [data-panel="summary"] { background:#e60012 !important; color:white !important; }
 .dzv-mobile-v2 .dzv-mobile-nav button span { max-height:none !important; }
 .dzv-mobile-v2 .dzv-mobile-sheet-head { padding-top:4px; padding-bottom:4px; }
 .dzv-mobile-v2 .dzv-mobile-sheet-content { padding-top:0; }
 .dzv-mobile-v2 .view-toolbar-card #viewIso { min-width:70px !important; }
 .dzv-mobile-v2 .view-toolbar-card { gap:4px !important; }
 .dzv-mobile-v2 .dzv-mobile-sheet .dzv-v2-idea-list button { min-height:48px; }
}

.dzv-v2-font-rows { display:none; }
@media(max-width:760px){
 .dzv-mobile-v2 .dzv-v2-font-rows { display:grid; gap:6px; margin:10px 0; }
 .dzv-mobile-v2 .dzv-v2-font-row { display:grid; grid-template-columns:minmax(0,1fr) 48px 48px; gap:6px; align-items:center; padding:4px 6px; border:1px solid #dddfe4; border-radius:12px; background:white; }
 .dzv-mobile-v2 .dzv-v2-font-row > span { font-size:15px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
 .dzv-mobile-v2 .dzv-v2-font-row button { height:44px; font-size:18px; border:1px solid #dddfe4; background:#f6f7f9; border-radius:10px; color:#222; }
 .dzv-mobile-v2 .dzv-v2-font-row button:disabled { opacity:.4; }
 .dzv-mobile-v2 .band-mini-bar .dzv-mobile-band-font-controls { display:none!important; }
 .dzv-mobile-v2 .band-mini-label { padding-right:4px!important; font-size:13px!important; }
 .dzv-mobile-v2 .band-mini-name { font-size:13px!important; }
 .dzv-mobile-v2 .band-mini-pt { display:none!important; }
 .dzv-mobile-v2 .shape-choice { min-width:82px!important; }
 .dzv-mobile-v2 .shape-choice > span:last-child { font-size:13px!important; line-height:1.15!important; }
}

@media(max-width:760px){
 .dzv-mobile-v2.dzv-v2-editing .dzv-mobile-sheet-close { display:none; }
}

@media(max-width:760px){
 body:has(.dzv-mobile-v2.dzv-mobile-keyboard-open) #main-header,
 body:has(.dzv-mobile-v2.dzv-mobile-keyboard-open) .et-l--header,
 body:has(.dzv-mobile-v2.dzv-mobile-keyboard-open) #wpadminbar { display:none!important; }
}

/* Complete original navigation, one native swipe row with explicit overflow cues. */
.dzv-v2-nav-cue { display:none; }
@media(max-width:760px){
 .dzv-mobile-v2 .dzv-mobile-shell { --dzv-nav-expanded:72px; --dzv-nav-compact:72px; }
 .dzv-mobile-v2 .dzv-mobile-nav, .dzv-mobile-v2 .dzv-mobile-nav.dzv-mobile-nav-no-mode { display:block; position:relative; min-width:0; max-width:100%; box-sizing:border-box; padding:4px 24px calc(4px + env(safe-area-inset-bottom,0px)); }
 .dzv-mobile-v2 .dzv-v2-nav-strip { display:flex; gap:4px; overflow-x:auto; scroll-snap-type:x proximity; overscroll-behavior-x:contain; scrollbar-width:none; }
 .dzv-mobile-v2 .dzv-v2-nav-strip::-webkit-scrollbar { display:none; }
 .dzv-mobile-v2 .dzv-v2-nav-strip > button { flex:0 0 82px; height:60px; scroll-snap-align:start; }
 .dzv-mobile-v2 .dzv-mobile-nav [data-panel="summary"] { background:#f3f4f6!important; color:#333!important; padding:4px!important; flex-direction:column; justify-content:center; }
 .dzv-mobile-v2 .dzv-mobile-nav [data-panel="summary"] svg { display:block!important; }
 .dzv-mobile-v2 .dzv-mobile-nav [data-action="cart"] { display:flex!important; }
 .dzv-mobile-v2 .dzv-mobile-nav .dzv-v2-nav-cue { display:flex; position:absolute; top:10px; width:24px; min-width:24px; height:48px; min-height:48px; padding:0; background:#fff; color:#e60012; border-radius:0; z-index:2; }
 .dzv-mobile-v2 .dzv-v2-nav-cue.is-left { left:0; }
 .dzv-mobile-v2 .dzv-v2-nav-cue.is-right { right:0; }
 .dzv-mobile-v2 .dzv-v2-nav-cue[hidden] { display:none!important; }
 .dzv-mobile-v2 .dzv-mobile-stage .viewer-toolbar .view-toolbar-card { gap:3px!important; flex-wrap:nowrap!important; }
 .dzv-mobile-v2 .dzv-mobile-stage .viewer-toolbar .view-toolbar-card button { min-height:34px!important; height:34px!important; font-size:12px!important; padding-inline:6px!important; }
 .dzv-mobile-v2 .dzv-mobile-stage .viewer-toolbar .view-toolbar-card #viewIso { min-width:38px!important; }
 .dzv-mobile-v2 .dzv-mobile-stage .viewer-toolbar .view-toolbar-card #viewUser { min-width:66px!important; }
 .dzv-mobile-v2 .dzv-mobile-stage .viewer-toolbar .view-toolbar-card #resetAllBtn { display:inline-flex!important; min-width:56px!important; }
 .dzv-mobile-v2 .dzv-mobile-stage .viewer-toolbar .view-toolbar-card #undoBtn,
 .dzv-mobile-v2 .dzv-mobile-stage .viewer-toolbar .view-toolbar-card #redoBtn { display:inline-flex!important; width:30px!important; min-width:30px!important; justify-content:center; padding:0!important; font-size:20px!important; }
 .dzv-mobile-v2 .dzv-mobile-sheet-head { min-height:40px!important; gap:4px; }
 .dzv-mobile-v2 .dzv-mobile-sheet-close, .dzv-mobile-v2 .dzv-mobile-panel-help-button { width:44px; height:40px; min-width:44px; min-height:40px; background:transparent!important; border:0!important; box-shadow:none!important; }
 .dzv-mobile-v2 .dzv-mobile-panel-help-button { font-size:14px!important; }
 .dzv-mobile-v2 .dzv-mobile-sheet-close svg { width:14px; height:14px; }
 .dzv-mobile-v2 #fontPicker { margin-bottom:6px; }
 .dzv-mobile-v2 #fontPicker .dzv-font-card { min-height:40px; padding:6px 20px 6px 8px; border-radius:10px; }
 .dzv-mobile-v2 #fontPicker .dzv-font-sample, .dzv-mobile-v2 #fontPicker .dzv-font-sample svg { height:20px; font-size:18px; }
}

/* Shared overflow language: one chevron, one surface, no text-erasing fade. */
@media(max-width:760px){
 .dzv-mobile-v2 .dzv-mobile-scroll-fade { display:none!important; }
 .dzv-mobile-v2 :is(.dzv-v2-nav-cue,.dzv-mobile-shape-cue,.dzv-v2-color-cue,.dzv-mobile-sheet-scroll-hint) { color:#555b64!important; background:#fff!important; border:1px solid #dfe3e8!important; border-radius:16px!important; box-shadow:0 1px 4px #0000000d!important; padding:0!important; }
 .dzv-mobile-v2 :is(.dzv-v2-nav-cue,.dzv-mobile-shape-cue,.dzv-v2-color-cue,.dzv-mobile-sheet-scroll-hint) svg { width:18px!important; height:18px!important; fill:none; stroke:currentColor; stroke-width:2!important; stroke-linecap:round; stroke-linejoin:round; filter:none!important; }
 .dzv-mobile-v2 .dzv-mobile-shape-cue { top:92px; bottom:auto; width:28px; height:44px; min-height:44px; }
 .dzv-mobile-v2 .dzv-mobile-shape-cue-left { left:4px; }
 .dzv-mobile-v2 .dzv-mobile-shape-cue-right { right:4px; }
 .dzv-mobile-v2 .dzv-v2-color-cue { display:none; position:absolute; top:50%; transform:translateY(-50%); width:28px; height:44px; z-index:8; place-items:center; }
 .dzv-mobile-v2 .dzv-v2-color-cue.is-left { left:0; }
 .dzv-mobile-v2 .dzv-v2-color-cue.is-right { right:0; }
 .dzv-mobile-v2 .can-scroll-left .dzv-v2-color-cue.is-left,
 .dzv-mobile-v2 .can-scroll-right .dzv-v2-color-cue.is-right { display:grid; }
 .dzv-mobile-v2 .dzv-mobile-sheet-scroll-hint { display:none!important; left:auto; right:8px; bottom:6px; width:32px; height:32px; opacity:1!important; pointer-events:auto; place-items:center; }
 .dzv-mobile-v2 .sheet-can-scroll-down .dzv-mobile-sheet-scroll-hint:not([hidden]) { display:grid!important; }
 .dzv-mobile-v2 .dzv-mobile-sheet-scroll-hint svg { transform:rotate(90deg); }
 .dzv-mobile-v2 .dzv-mobile-sheet-content { padding-bottom:42px; }
 .dzv-mobile-v2 .dzv-mobile-sheet { font-family:Arial,sans-serif; }
 .dzv-mobile-v2 .dzv-mobile-sheet-head h2 { font-family:Arial,sans-serif!important; font-size:16px!important; font-weight:700!important; }
 .dzv-mobile-v2 .dzv-mobile-sheet :is(label,.inline-check span,.dzv-v2-ideas summary,.dzv-v2-idea-list button,.dzv-v2-font-row > span,.field-title,.field-label,.muted,.customer-summary-label) { font-family:Arial,sans-serif!important; font-size:14px!important; line-height:1.35!important; letter-spacing:normal!important; text-transform:none!important; }
 .dzv-mobile-v2 .dzv-mobile-sheet :is(label,.inline-check span,.dzv-v2-ideas summary) { font-weight:600!important; }
 .dzv-mobile-v2 .dzv-mobile-sheet :is(input,textarea,select) { font-family:Arial,sans-serif!important; font-size:16px!important; line-height:1.35!important; }
 .dzv-mobile-v2 .dzv-v2-ideas { margin:8px 0; }
 .dzv-mobile-v2 .dzv-v2-ideas summary { padding:10px; }
 .dzv-mobile-v2 .dzv-mobile-nav .dzv-v2-nav-cue { border-radius:16px!important; }
}
@media(prefers-reduced-motion:reduce){
 .dzv-mobile-v2 .dzv-mobile-sheet-scroll-hint { transition:none; }
}

@media(max-width:760px){ .dzv-mobile-v2 .dzv-mobile-shell[data-active-panel="shape"] .dzv-mobile-sheet-content { padding-bottom:8px; } }

/* Tight panels, non-overlapping scroll footer, compact firm color choices. */
@media(max-width:760px){
 .dzv-mobile-v2 .dzv-mobile-sheet { display:flex; flex-direction:column; }
 .dzv-mobile-v2 .dzv-mobile-sheet-head, .dzv-mobile-v2 .dzv-mobile-sheet-grab { flex-shrink:0; }
 .dzv-mobile-v2 .dzv-mobile-sheet-content { min-height:0; padding-bottom:8px; }
 .dzv-mobile-v2 .dzv-mobile-sheet-scroll-hint { position:static; flex:0 0 32px; margin:4px 0 0 auto; }
 .dzv-mobile-v2 .dzv-mobile-shell[data-active-panel="text"] #textInput { min-height:48px!important; max-height:80px!important; }
 .dzv-mobile-v2 #filamentOptions { gap:6px!important; padding-bottom:2px!important; }
 .dzv-mobile-v2 #filamentOptions .dzv-generator-filament-option { flex:0 0 calc((100% - 12px) / 3)!important; min-height:42px; padding:6px!important; border:1px solid #c7ccd3; border-radius:10px; gap:4px; grid-template-columns:16px minmax(0,1fr); }
 .dzv-mobile-v2 #filamentOptions .dzv-generator-filament-option.is-selected { border:2px solid #e60012; background:#fff3f4; }
 .dzv-mobile-v2 #filamentOptions .dzv-generator-filament-swatch { width:16px; height:16px; }
 .dzv-mobile-v2 #filamentOptions .dzv-generator-filament-name { font:600 12px/1.2 Arial,sans-serif!important; white-space:normal; overflow-wrap:anywhere; }
 .dzv-mobile-v2 :is(.dzv-mobile-panel-help,.dzv-mobile-status-popover,.help-popover,.cart-confirm-dialog,.mobile-notice-dialog) { font:400 16px/1.45 Arial,sans-serif!important; }
 .dzv-mobile-v2 :is(.help-popover,.cart-confirm-dialog,.mobile-notice-dialog) p { font-size:16px!important; line-height:1.45!important; }
 .dzv-mobile-v2 .dzv-v2-view-reset svg { fill:none; stroke:currentColor; stroke-width:2; }
}

/* Native vertical scrolling in every panel; cues share the existing header. */
.dzv-mobile-v2 .dzv-v2-idea-carousel { position:relative; }
.dzv-mobile-v2 .dzv-v2-idea-list button > span { display:block; flex:none; width:max-content; white-space:pre; overflow-wrap:normal; word-break:normal; font-family:Arial,sans-serif; font-weight:600; line-height:1.3; }
.dzv-mobile-v2 .dzv-v2-idea-list { display:flex; gap:8px; overflow-x:auto; scroll-snap-type:x proximity; scrollbar-width:thin; padding:8px 0 4px; }
.dzv-mobile-v2 .dzv-mobile-sheet .dzv-v2-idea-list button { flex:0 0 112px; width:112px; height:112px; min-height:112px; box-sizing:border-box; white-space:pre-line; overflow-wrap:anywhere; scroll-snap-align:start; padding:8px; font:600 14px/1.3 Arial,sans-serif!important; }
.dzv-mobile-v2 .dzv-v2-idea-cue { position:absolute; top:50%; transform:translateY(-50%); width:28px; height:44px; display:grid; place-items:center; color:#555b64; background:white; border:1px solid #dfe3e8; border-radius:16px; box-shadow:0 1px 4px #0000000d; padding:0; }
.dzv-mobile-v2 .dzv-v2-idea-cue[hidden] { display:none; }
.dzv-mobile-v2 .dzv-v2-idea-cue.is-left { left:0; }
.dzv-mobile-v2 .dzv-v2-idea-cue.is-right { right:0; }
.dzv-mobile-v2 .dzv-v2-idea-cue svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
@media(max-width:760px){
 .dzv-mobile-v2 .dzv-mobile-shell[data-shape-mode="shape"] #shapeSection :is(#plaqueFields,#waveFields,#waveTipChamferField) { display:none!important; }
}
@media(max-width:760px){
 .dzv-mobile-v2 .dzv-mobile-sheet-content { overflow-y:auto!important; touch-action:auto; flex:0 1 auto; padding-bottom:4px!important; }
 .dzv-mobile-v2 .dzv-v2-sheet-scroll-controls { display:flex; gap:4px; margin-left:auto; flex-shrink:0; }
 .dzv-mobile-v2 .dzv-v2-sheet-scroll-controls[hidden] { display:none!important; }
 .dzv-mobile-v2 .dzv-v2-sheet-scroll-controls button { display:grid!important; position:static; flex:none; margin:0; width:32px; height:36px; min-height:36px; place-items:center; color:#555b64; background:white; border:1px solid #dfe3e8; border-radius:16px; padding:0; }
 .dzv-mobile-v2 .dzv-v2-sheet-scroll-controls button:disabled { opacity:.3!important; }
 .dzv-mobile-v2 .dzv-v2-sheet-scroll-controls svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; }
 .dzv-mobile-v2 .dzv-v2-sheet-scroll-up svg { transform:rotate(-90deg); }
 .dzv-mobile-v2 .shape-grid-scrolled-away .dzv-mobile-shape-cue { display:none!important; }
}

/* Desktop keeps compact font samples and never exposes mobile-only cue buttons. */
@media(min-width:761px){
 .dzv-mobile-v2 .customer-summary-title > span { display:none!important; }
 .dzv-mobile-v2 #fontPicker { display:block; }
 .dzv-mobile-v2 .dzv-v2-font-hint { display:block; margin:0 0 6px; font-size:14px; }
 .dzv-mobile-v2 #fontPicker .dzv-font-card { min-height:36px; padding:6px 20px 6px 8px; }
 .dzv-mobile-v2 #fontPicker .dzv-font-sample svg { height:18px!important; }
 .dzv-mobile-v2 .dzv-v2-color-cue { display:none!important; }
}

.dzv-mobile-v2 .dzv-v2-parameter-stepper button[hidden] { display:none!important; }
@media(min-width:761px){ .dzv-mobile-v2 .dzv-v2-parameter-stepper { display:block; } }
