html.cvdds6-fullscreen-active,body.cvdds6-fullscreen-active{margin:0!important;padding:0!important;overflow:hidden!important;width:100%!important;height:100%!important;}
html.cvdds6-fullscreen-active{margin-top:0!important;}
body.cvdds6-fullscreen-active.admin-bar{padding-top:0!important;margin-top:0!important;}
body.cvdds6-fullscreen-active #wpadminbar{display:none!important;visibility:hidden!important;height:0!important;}
/* Note: avoid contain:paint/layout on the host — it can break position:fixed hit-testing + touch routing for Fabric on mobile */
#cvdds6-fullscreen-host{position:fixed!important;inset:0!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;width:100dvw!important;height:100vh!important;height:100dvh!important;z-index:2147483646!important;background:#05050a!important;display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;isolation:isolate!important;}
#cvdds6-fullscreen-host #cvdds6-app{display:grid!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;}
/* Do not set pointer-events on * — it overrides intentional none (gates, loaders) and can steal taps from stacked toolbars */
#cvdds6-fullscreen-host #cvdds6-app *{visibility:visible;}
#cvdds6-fullscreen-host canvas,#cvdds6-fullscreen-host .canvas-container,#cvdds6-fullscreen-host .upper-canvas,#cvdds6-fullscreen-host .lower-canvas{pointer-events:auto!important;}
.cvdds6-shortcode-placeholder{display:none!important;}
/* Mobile-only maintenance overlay — hidden on desktop */
.cvdds6-mobile-maintenance{
  display:none!important;
  box-sizing:border-box;
}
@media (max-width:768px){
  .cvdds6-mobile-maintenance{
    display:flex!important;
    align-items:center;
    justify-content:center;
    position:fixed!important;
    inset:0!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    width:100%!important;
    min-height:100dvh!important;
    padding:max(20px,env(safe-area-inset-top,0px)) 20px max(24px,env(safe-area-inset-bottom,0px))!important;
    z-index:2147483000!important;
    margin:0!important;
    pointer-events:auto!important;
    background:radial-gradient(ellipse 120% 80% at 50% 20%,rgba(124,32,255,.35),rgba(5,5,10,.97) 55%,#030307 100%)!important;
    backdrop-filter:blur(12px)!important;
    -webkit-backdrop-filter:blur(12px)!important;
  }
  #cvdds6-fullscreen-host .cvdds6-mobile-maintenance{
    z-index:2147483000!important;
  }
  .cvdds6-mobile-maintenance__card{
    max-width:400px;
    width:100%;
    text-align:center;
    color:#f0e8ff;
    background:rgba(11,4,28,.88);
    border:1px solid rgba(255,255,255,.2);
    border-radius:24px;
    padding:28px 22px 32px;
    box-shadow:0 24px 64px rgba(0,0,0,.55),0 0 0 1px rgba(139,37,255,.25) inset;
  }
  .cvdds6-mobile-maintenance__title{
    margin:0 0 14px;
    font-size:clamp(18px,4.5vw,22px);
    font-weight:900;
    line-height:1.25;
    letter-spacing:-.02em;
    text-shadow:0 0 24px rgba(139,37,255,.45);
  }
  .cvdds6-mobile-maintenance__text{
    margin:0;
    font-size:15px;
    line-height:1.5;
    color:#d7c7ff;
    font-weight:600;
  }
}
.cvdds6-mobile-dock,.cvdds6-mobile-sheet-backdrop{display:none}.cvdds6-mobile-chip-strip{display:none}
:root{--bg:#05050d;--panel:#0c0a19;--panel2:#141028;--block:#17102f;--line:#6e2cff;--line2:#a35bff;--glow:#8b25ff;--text:#fff;--muted:#bfb2e9;--pink:#ff5aa5;--grad:linear-gradient(135deg,#7c20ff,#b739ff);--darkgrad:linear-gradient(135deg,#211343,#080812)}
.cvdds6-app{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;inset:0!important;z-index:1!important;width:100vw;width:100dvw;height:100vh;height:100dvh;margin:0!important;background:radial-gradient(circle at 50% 22%,#2b1264 0,#090814 48%,#030307 100%);color:var(--text);font-family:Inter,system-ui,Arial,sans-serif;overflow:hidden;display:grid;grid-template-columns:74px 360px minmax(420px,1fr) 380px;grid-template-rows:76px minmax(0,1fr) 76px 34px;border:0!important;box-sizing:border-box}
.cvdds6-loader{position:absolute;inset:0;z-index:50;background:radial-gradient(circle,#1f0d4c,#05050d 60%);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:.55s}.cvdds6-app.ready .cvdds6-loader{opacity:0;pointer-events:none}.cvdds6-loader-brand{display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}.cvdds6-loader-logo{display:flex;align-items:center;justify-content:center;animation:cvdpulse 1.2s infinite}.cvdds6-loader-logo-img{display:block;max-height:88px;width:auto;max-width:min(280px,72vw);height:auto;object-fit:contain;filter:drop-shadow(0 0 20px rgba(255,255,255,.35))}.cvdds6-loader-logo-img--icon{border-radius:18px}.cvdds6-loader-logo--text{font-size:74px;font-weight:1000;line-height:1;color:#efe6ff;text-shadow:0 0 16px #fff,0 0 50px var(--glow);letter-spacing:-2px}.cvdds6-loader-text{color:#d7c7ff;font-weight:800;letter-spacing:.06em;font-size:14px;max-width:90vw;line-height:1.35}@keyframes cvdpulse{50%{transform:scale(1.04);filter:brightness(1.12)}}
.cvdds6-topbar{grid-column:1/5;display:flex;align-items:center;justify-content:space-between;padding:0 22px;background:rgba(4,4,10,.92);border-bottom:1px solid rgba(150,60,255,.35);backdrop-filter:blur(14px)}.cvdds6-brand{display:flex;align-items:center;gap:12px;min-width:0}.cvdds6-brand-logo{display:flex;align-items:center;flex-shrink:0;line-height:0}.cvdds6-brand-logo-img{display:block;height:44px;width:auto;max-width:200px;object-fit:contain;filter:drop-shadow(0 0 12px rgba(180,140,255,.45))}.cvdds6-brand-logo-img--icon{height:40px;width:40px;object-fit:cover;border-radius:10px}.cvdds6-brand-name{font-size:17px;font-weight:850;line-height:1.2;color:#f0e8ff;text-shadow:0 0 18px rgba(139,37,255,.35);letter-spacing:.02em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvdds6-brand:not(:has(.cvdds6-brand-logo)) .cvdds6-brand-name{font-size:22px;font-weight:900}.cvdds6-flow{display:flex;align-items:center;gap:20px;font-weight:900}.cvdds6-flow span{border:1px solid rgba(150,60,255,.45);background:#120d25;border-radius:999px;padding:11px 16px}.cvdds6-flow .done{background:var(--grad)}.cvdds6-flow i{width:48px;height:1px;background:#7f55c8}.cvdds6-top-actions{display:flex;align-items:center;gap:10px}.cvdds6-top-actions button,.cvdds6-top-actions a,.cvdds6-bottombar button,.cvdds6-block button,.cvdds6-stage button{background:#120f22;color:#fff;border:1px solid rgba(168,94,255,.55);border-radius:12px;padding:11px 16px;font-weight:850;text-decoration:none;cursor:pointer;transition:.18s}.cvdds6-top-actions button:hover,.cvdds6-bottombar button:hover,.cvdds6-block button:hover,.cvdds6-stage button:hover{transform:translateY(-1px);box-shadow:0 0 24px rgba(150,60,255,.42)}
.cvdds6-rail{background:#080812;border-right:1px solid rgba(150,60,255,.28);display:flex;flex-direction:column;gap:10px;padding:14px 7px}.cvdds6-rail.left{grid-column:1;grid-row:2/5}.cvdds6-rail button{height:62px;background:#120e25;border:1px solid rgba(150,60,255,.28);border-radius:15px;color:#dfd1ff;font-size:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.cvdds6-rail span{font-size:10px}.cvdds6-rail button:hover,.cvdds6-rail button.active{background:var(--grad);color:#fff}
.cvdds6-block-stack{background:rgba(8,7,18,.86);overflow:auto;padding:14px;display:flex;flex-direction:column;gap:12px}.cvdds6-left{grid-column:2;grid-row:2/4;border-right:1px solid rgba(150,60,255,.35)}.cvdds6-right{grid-column:4;grid-row:2/4;border-left:1px solid rgba(150,60,255,.35)}.cvdds6-block{background:linear-gradient(145deg,rgba(23,16,47,.96),rgba(8,8,18,.95));border:1px solid rgba(150,60,255,.38);border-radius:17px;padding:15px;box-shadow:inset 0 0 35px rgba(150,60,255,.08)}.cvdds6-left .cvdds6-block{display:none}.cvdds6-left .cvdds6-block.cvdds6-active-panel{display:block;animation:slidein .28s ease}@keyframes slidein{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}.cvdds6-block h3{margin:0 0 13px;text-transform:uppercase;letter-spacing:.5px}.cvdds6-block-head{display:flex;justify-content:space-between;align-items:center}.cvdds6-block input,.cvdds6-block select{width:100%;box-sizing:border-box;background:#090713;color:#fff;border:1px solid rgba(170,94,255,.55);border-radius:12px;padding:12px;margin:6px 0 12px}.cvdds6-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cvdds6-metro-list{display:grid;gap:10px}.cvdds6-products-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 10px}.cvdds6-products-pager button{flex:0 0 auto}.cvdds6-pager-info{opacity:.85;font-weight:850;font-size:12px;color:var(--muted)}.cvdds6-product-card,.cvdds6-tile{min-height:82px;border:1px solid rgba(165,88,255,.45);border-radius:14px;background:var(--darkgrad);padding:13px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;transition:.2s;overflow:hidden}.cvdds6-product-card:hover,.cvdds6-product-card.active,.cvdds6-tile:hover{background:var(--grad);box-shadow:0 0 26px rgba(150,60,255,.5);transform:translateX(5px)}.cvdds6-product-card img{width:96px;height:70px;object-fit:cover;border-radius:10px}.cvdds6-product-card h4{margin:0 0 4px;font-size:16px}.cvdds6-product-card small{color:#dfd3ff}.cvdds6-skeleton{border:1px dashed var(--line);border-radius:14px;padding:28px;color:#ddd}.cvdds6-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.cvdds6-mini-grid button{padding:10px}
.cvdds6-stage{grid-column:3;grid-row:2/4;min-width:0;background-image:linear-gradient(rgba(155,53,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(155,53,255,.09) 1px,transparent 1px);background-size:30px 30px;display:grid;grid-template-rows:86px minmax(0,1fr) 54px}.cvdds6-stage-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(150,60,255,.28);padding:14px 22px;background:rgba(8,7,18,.55)}.cvdds6-stage-head h2{margin:0;font-size:20px}.cvdds6-stage-head small{color:var(--muted)}.cvdds6-price{display:flex;flex-direction:column}.cvdds6-price strong{font-size:21px}.cvdds6-canvas-area{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;overflow:hidden}.canvas-container{box-shadow:0 0 80px rgba(150,60,255,.3);border-radius:20px}.cvdds6-floating-tools{position:absolute;left:18px;top:70px;z-index:5;display:flex;flex-direction:column;gap:7px;background:rgba(6,5,13,.8);border:1px solid rgba(150,60,255,.35);border-radius:15px;padding:8px}.cvdds6-floating-tools button{padding:9px 10px;font-size:12px}.cvdds6-view-switch{position:absolute;right:20px;bottom:20px;display:grid;gap:8px;background:rgba(6,5,13,.85);border:1px solid rgba(150,60,255,.35);padding:8px;border-radius:14px}.cvdds6-view-switch button.active{background:var(--grad)}.cvdds6-zoom{display:flex;align-items:center;gap:10px;padding:8px 18px;border-top:1px solid rgba(150,60,255,.25)}.cvdds6-zoom button{padding:8px 12px}.cvdds6-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px}.cvdds6-tabs button.active{background:var(--grad)}.cvdds6-right-panel{display:none}.cvdds6-right-panel.active{display:block}.cvdds6-options{display:grid;gap:9px}.cvdds6-opt-group{margin-bottom:10px}.cvdds6-opt-title{font-weight:900;color:#dccbff;text-transform:uppercase;font-size:12px;margin:8px 0}.cvdds6-opt-values{display:flex;gap:8px;flex-wrap:wrap}.cvdds6-opt{border:1px solid rgba(168,94,255,.55);background:#100d20;border-radius:10px;padding:9px 12px;cursor:pointer}.cvdds6-opt.active{background:var(--grad);box-shadow:0 0 15px rgba(150,60,255,.5)}.cvdds6-layers{display:grid;gap:5px}.cvdds6-layer{display:flex;justify-content:space-between;align-items:center;gap:8px;background:#0c0a18;border:1px solid rgba(150,60,255,.22);border-radius:10px;padding:9px}.cvdds6-layer button{padding:5px 8px}.cvdds6-layer.active{border-color:#c589ff;background:#20103e}
.cvdds6-bottombar{grid-column:2/5;grid-row:3;display:grid;grid-template-columns:repeat(6,1fr);gap:11px;padding:10px 14px;background:rgba(4,4,10,.94);border-top:1px solid rgba(150,60,255,.35);z-index:9}.cvdds6-bottombar .primary{background:var(--grad);font-size:17px;box-shadow:0 0 28px rgba(150,60,255,.5)}.cvdds6-statusbar{grid-column:2/5;grid-row:4;background:#05050a;border-top:1px solid rgba(150,60,255,.2);color:#bfb4dc;display:flex;align-items:center;justify-content:space-between;padding:0 22px;font-size:13px}.cvdds6-toast-wrap{position:absolute;right:20px;bottom:64px;z-index:70;display:grid;gap:10px;max-width:360px}.cvdds6-toast{background:#100d20;border:1px solid rgba(166,85,255,.7);border-left:5px solid #9d4bff;border-radius:14px;padding:14px 16px;color:#fff;box-shadow:0 12px 40px rgba(0,0,0,.45);animation:toastin .22s ease}.cvdds6-toast.success{border-left-color:#39df8e}.cvdds6-toast.error{border-left-color:#ff5a7e}@keyframes toastin{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:none}}
.cvdds6-artwork-fee-hint{display:block;margin-top:4px;font-size:12px;font-weight:600;color:rgba(224,210,255,.72);line-height:1.35}
.cvdds6-design-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}.cvdds6-design-card{background:#111025;border:1px solid #7b2cff;border-radius:16px;padding:14px;color:#fff}.cvdds6-design-card img{width:100%;border-radius:12px;background:#05050b}.cvdds6-design-card h3{margin:10px 0 8px;font-size:16px;line-height:1.3;word-break:break-word}.cvdds6-my-designs{color:#fff;background:#070711;padding:20px;border-radius:18px}.cvdds6-designs-empty{grid-column:1/-1;opacity:.85;margin:0}.cvdds6-design-actions{margin-top:12px}.cvdds6-design-actions .cvdds6-open-designer{display:flex;align-items:center;justify-content:center;width:100%;box-sizing:border-box;padding:12px 16px;border-radius:12px;font-weight:800;font-size:14px;text-decoration:none;text-align:center;line-height:1.25;background:linear-gradient(135deg,#7c20ff,#b739ff);color:#fff;border:none;box-shadow:0 0 18px rgba(124,32,255,.35)}.cvdds6-design-actions .cvdds6-open-designer:hover,.cvdds6-design-actions .cvdds6-open-designer:focus{color:#fff;filter:brightness(1.08)}
@media(max-width:1200px){.cvdds6-app{grid-template-columns:64px 310px 1fr;grid-template-rows:74px 1fr 84px 34px}.cvdds6-right{position:absolute;right:0;top:76px;bottom:110px;width:360px;z-index:12;transform:translateX(102%);transition:.25s}.cvdds6-right.open{transform:none}.cvdds6-stage{grid-column:3;grid-row:2/4}.cvdds6-bottombar,.cvdds6-statusbar{grid-column:2/4}.cvdds6-flow{display:none}}
@media(max-width:768px){.cvdds6-app{--cvdds6-m-dock:60px;--cvdds6-m-status:28px;grid-template-columns:1fr!important;grid-template-rows:52px minmax(0,1fr) var(--cvdds6-m-status) var(--cvdds6-m-dock)!important;padding-bottom:env(safe-area-inset-bottom,0px)}.cvdds6-rail{display:none!important}.cvdds6-bottombar{display:none!important}.cvdds6-topbar{grid-column:1!important;grid-row:1!important;padding:0 10px 0 12px!important;min-height:52px!important}.cvdds6-stage{grid-column:1!important;grid-row:2!important}.cvdds6-statusbar{grid-column:1!important;grid-row:3!important;height:var(--cvdds6-m-status)!important;padding:0 10px!important;font-size:11px!important;gap:8px!important;overflow:hidden}.cvdds6-statusbar__hint{display:none}.cvdds6-mobile-dock{grid-column:1!important;grid-row:4!important;display:flex!important;align-items:stretch;justify-content:space-around;gap:2px;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px)) 8px!important;background:linear-gradient(180deg,rgba(12,8,28,.97),rgba(6,4,14,.99))!important;border-top:1px solid rgba(150,60,255,.4)!important;box-shadow:0 -8px 32px rgba(0,0,0,.45)}.cvdds6-mobile-dock .cvdds6-dock{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;margin:0;padding:8px 4px;border:none;border-radius:14px;background:transparent;color:#c9b8f0;font-size:10px;font-weight:800;letter-spacing:.02em;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.cvdds6-mobile-dock .cvdds6-dock__ic{font-size:20px;line-height:1;opacity:.92}.cvdds6-mobile-dock .cvdds6-dock__lbl{font-size:9px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.cvdds6-mobile-dock .cvdds6-dock.is-active{background:rgba(124,32,255,.28)!important;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}.cvdds6-mobile-dock .cvdds6-dock--cart{background:var(--grad)!important;color:#fff!important;box-shadow:0 0 20px rgba(139,37,255,.45)}.cvdds6-mobile-dock .cvdds6-dock--cart .cvdds6-dock__lbl{color:#fff}.cvdds6-mobile-chip-strip{display:flex!important;flex-wrap:nowrap;gap:6px;padding:10px 10px 0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-bottom:1px solid rgba(150,60,255,.22);margin:0 -4px 8px -4px}.cvdds6-mobile-chip-strip::-webkit-scrollbar{display:none}.cvdds6-mobile-chip-strip button{flex:0 0 auto;padding:10px 14px;border-radius:999px;border:1px solid rgba(160,90,255,.45);background:rgba(16,12,32,.9);color:#e8defc;font-size:12px;font-weight:800;cursor:pointer;touch-action:manipulation}.cvdds6-mobile-chip-strip button.is-active{background:var(--grad);color:#fff;border-color:transparent}.cvdds6-left,.cvdds6-right{position:fixed!important;left:0!important;right:0!important;top:52px!important;bottom:calc(var(--cvdds6-m-status) + var(--cvdds6-m-dock) + env(safe-area-inset-bottom,0px))!important;width:100%!important;max-width:none!important;height:auto!important;max-height:min(58vh,540px)!important;margin:0!important;border-radius:22px 22px 0 0!important;border-left:none!important;border-right:none!important;transform:translate3d(0,calc(100% + 24px),0)!important;transition:transform .32s cubic-bezier(.22,1,.36,1)!important;z-index:42!important;box-shadow:0 -16px 48px rgba(0,0,0,.55)!important;padding-top:4px!important}.cvdds6-left.open,.cvdds6-right.open{transform:translate3d(0,0,0)!important}.cvdds6-block-stack{padding:12px 12px 20px!important}.cvdds6-mobile-sheet-backdrop{display:block!important;position:fixed!important;inset:52px 0 calc(var(--cvdds6-m-status) + var(--cvdds6-m-dock) + env(safe-area-inset-bottom,0px)) 0!important;z-index:38!important;background:rgba(3,2,10,.48)!important;backdrop-filter:blur(5px)!important;-webkit-backdrop-filter:blur(5px)!important;opacity:0!important;pointer-events:none!important;transition:opacity .22s ease;border:0;padding:0;margin:0;cursor:pointer}.cvdds6-mobile-sheet-backdrop.is-visible{opacity:1!important;pointer-events:auto!important}.cvdds6-toast-wrap{right:10px!important;left:10px!important;bottom:calc(var(--cvdds6-m-status) + var(--cvdds6-m-dock) + 14px)!important;max-width:none!important}.cvdds6-toast{max-width:100%!important}.cvdds6-flow{display:none!important}.cvdds6-brand-logo-img{max-width:min(160px,36vw)!important;height:36px!important}.cvdds6-brand-name{max-width:min(46vw,200px)!important;font-size:14px!important}.cvdds6-stage-head{padding:10px 12px!important;flex-wrap:wrap;gap:8px}.cvdds6-stage-head h2{font-size:16px!important;line-height:1.2}.cvdds6-stage-head small{font-size:11px!important}.cvdds6-price strong{font-size:17px!important}.cvdds6-canvas-area{width:100%!important;max-width:100%!important;box-sizing:border-box!important;padding-left:8px!important;padding-right:8px!important;justify-content:center!important;align-items:center!important}.cvdds6-canvas-area .canvas-container{width:100%!important;max-width:min(100%,calc(100vw - 16px))!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important;position:relative!important;left:auto!important;right:auto!important}.cvdds6-floating-tools{left:50%!important;right:auto!important;top:auto!important;bottom:12px!important;transform:translateX(-50%)!important;flex-direction:row!important;flex-wrap:wrap;justify-content:center!important;max-width:min(calc(100vw - 24px),100%)!important;width:auto!important;gap:6px!important;padding:8px!important;border-radius:16px!important}.cvdds6-floating-tools button{padding:10px 12px!important;font-size:11px!important;min-height:40px}.cvdds6-view-switch{right:8px!important;bottom:12px!important;padding:6px!important}.cvdds6-view-switch button{padding:8px 10px!important;min-height:40px}.cvdds6-zoom{padding:6px 10px!important;flex-wrap:wrap;justify-content:center;gap:8px}.cvdds6-zoom button{min-width:44px;min-height:40px}.cvdds6-block{border-radius:16px!important;padding:14px!important}.cvdds6-product-card,.cvdds6-tile{min-height:72px!important;padding:12px!important}.cvdds6-product-card img{width:72px!important;height:56px!important}.cvdds6-block-head h3{font-size:15px!important}.cvdds6-panel-back{font-size:28px!important;line-height:1;padding:4px 12px!important;border-radius:12px!important;border:1px solid rgba(170,94,255,.4)!important;background:rgba(20,14,40,.9)!important;color:#fff!important;min-width:44px;min-height:44px}.cvdds6-opt-values{gap:6px!important}.cvdds6-opt{padding:10px 12px!important;font-size:13px!important;min-height:44px;display:inline-flex;align-items:center}.cvdds6-mini-grid button{min-height:44px!important}.cvdds6-tabs button{min-height:44px!important;padding:12px 8px!important;font-size:13px!important}}
/* V6 click-safe fullscreen styling */
#cvdds6-fullscreen-host .cvdds6-topbar,#cvdds6-fullscreen-host .cvdds6-rail,#cvdds6-fullscreen-host .cvdds6-left,#cvdds6-fullscreen-host .cvdds6-right,#cvdds6-fullscreen-host .cvdds6-bottombar,#cvdds6-fullscreen-host .cvdds6-statusbar{position:relative;z-index:20;}
#cvdds6-fullscreen-host .cvdds6-stage{position:relative;z-index:2;}
/* Option wizard must stack above shop column (rail+left are z-index 20) but below topbar (20): lower shop z-index & raise stage only while gated */
#cvdds6-fullscreen-host .cvdds6-app.cvdds6-options-gated .cvdds6-rail.left,
#cvdds6-fullscreen-host .cvdds6-app.cvdds6-options-gated .cvdds6-left{z-index:1!important;}
#cvdds6-fullscreen-host .cvdds6-app.cvdds6-options-gated .cvdds6-stage{z-index:15!important;}
.cvdds6-app.cvdds6-options-gated .cvdds6-rail.left,
.cvdds6-app.cvdds6-options-gated .cvdds6-left{z-index:1!important;position:relative;}
.cvdds6-app.cvdds6-options-gated .cvdds6-stage{z-index:15!important;position:relative;}
#cvdds6-fullscreen-host .cvdds6-loader{pointer-events:auto;}
#cvdds6-fullscreen-host .cvdds6-app.ready .cvdds6-loader{pointer-events:none!important;display:none!important;}
#cvdds6-fullscreen-host button,#cvdds6-fullscreen-host a,#cvdds6-fullscreen-host input,#cvdds6-fullscreen-host select,#cvdds6-fullscreen-host textarea,#cvdds6-fullscreen-host .cvdds6-product-card,#cvdds6-fullscreen-host .cvdds6-opt,#cvdds6-fullscreen-host .cvdds6-layer{pointer-events:auto!important;}


/* V6.1 Required Options Gate */
.cvdds6-app.cvdds6-options-gated .cvdds6-floating-tools,
.cvdds6-app.cvdds6-options-gated .cvdds6-view-switch,
.cvdds6-app.cvdds6-options-gated .cvdds6-zoom,
.cvdds6-app.cvdds6-options-gated .cvdds6-bottombar,
.cvdds6-app.cvdds6-options-gated .cvdds6-tabs,
.cvdds6-app.cvdds6-options-gated .cvdds6-right .cvdds6-block:first-child,
.cvdds6-app.cvdds6-options-gated .cvdds6-right .cvdds6-block:nth-child(3) {
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
}
.cvdds6-app.cvdds6-options-gated .cvdds6-right .cvdds6-block:nth-child(2) {
  border-color: rgba(183, 70, 255, .92) !important;
  box-shadow: 0 0 0 2px rgba(183, 70, 255, .35), 0 0 35px rgba(139, 43, 255, .35) !important;
  animation: cvdds6GatePulse 1.35s ease-in-out infinite alternate;
}
.cvdds6-option-gate {
  position: absolute;
  inset: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: linear-gradient(135deg, rgba(70, 0, 125, .86), rgba(156, 38, 255, .72));
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease, transform .22s ease;
}
.cvdds6-option-gate.active { opacity: 1; pointer-events: auto; }

/* No product yet: keep gate on the stage only so the Products column stays visible (full-viewport gate is for option wizard only). */
.cvdds6-app.cvdds6-gate-awaiting-product .cvdds6-option-gate {
  pointer-events: auto;
}
#cvdds6-fullscreen-host .cvdds6-app.cvdds6-gate-awaiting-product .cvdds6-canvas-area .canvas-container,
#cvdds6-fullscreen-host .cvdds6-app.cvdds6-gate-awaiting-product .cvdds6-canvas-area .upper-canvas {
  pointer-events: none !important;
}

/* Storefront (?cvdds6_pick_product=1): product picker only — hide full designer until a product is chosen */
#cvdds6-fullscreen-host .cvdds6-app.cvdds6-storefront-pick-solo,
.cvdds6-app.cvdds6-storefront-pick-solo {
  grid-template-columns: 1fr !important;
  grid-template-rows: minmax(0, 1fr) !important;
}
.cvdds6-app.cvdds6-storefront-pick-solo .cvdds6-topbar,
.cvdds6-app.cvdds6-storefront-pick-solo .cvdds6-rail,
.cvdds6-app.cvdds6-storefront-pick-solo .cvdds6-left,
.cvdds6-app.cvdds6-storefront-pick-solo .cvdds6-right,
.cvdds6-app.cvdds6-storefront-pick-solo .cvdds6-bottombar,
.cvdds6-app.cvdds6-storefront-pick-solo .cvdds6-statusbar,
.cvdds6-app.cvdds6-storefront-pick-solo .cvdds6-mobile-dock {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
.cvdds6-app.cvdds6-storefront-pick-solo .cvdds6-mobile-sheet-backdrop {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.cvdds6-app.cvdds6-storefront-pick-solo .cvdds6-stage {
  grid-column: 1 !important;
  grid-row: 1 / -1 !important;
  grid-template-rows: minmax(0, 1fr) !important;
  min-height: 0 !important;
}
.cvdds6-app.cvdds6-storefront-pick-solo .cvdds6-stage-head,
.cvdds6-app.cvdds6-storefront-pick-solo .cvdds6-floating-tools,
.cvdds6-app.cvdds6-storefront-pick-solo .cvdds6-view-switch,
.cvdds6-app.cvdds6-storefront-pick-solo .cvdds6-zoom {
  display: none !important;
}
.cvdds6-app.cvdds6-storefront-pick-solo .cvdds6-canvas-area {
  flex: 1 1 auto !important;
  min-height: 0 !important;
}
.cvdds6-app.cvdds6-storefront-pick-solo .cvdds6-option-gate {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  width: 100dvw !important;
  height: 100vh !important;
  height: 100dvh !important;
  max-height: none !important;
  z-index: 200 !important;
  padding: max(28px, calc(env(safe-area-inset-top, 0px) + 16px)) max(18px, env(safe-area-inset-right, 0px))
    max(32px, calc(env(safe-area-inset-bottom, 0px) + 20px)) max(18px, env(safe-area-inset-left, 0px)) !important;
  align-items: flex-start !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
}
.cvdds6-app.cvdds6-storefront-pick-solo .cvdds6-option-gate-card {
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: auto !important;
  max-height: calc(100dvh - max(56px, env(safe-area-inset-top, 0px)) - max(56px, env(safe-area-inset-bottom, 0px))) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
.cvdds6-app.cvdds6-storefront-pick-solo .cvdds6-option-gate-card.cvdds6-option-gate-card--pick {
  max-height: calc(100dvh - max(48px, env(safe-area-inset-top, 0px)) - max(48px, env(safe-area-inset-bottom, 0px))) !important;
}
.cvdds6-app.cvdds6-storefront-pick-solo .cvdds6-wizard-head {
  flex-shrink: 0 !important;
}
.cvdds6-app.cvdds6-storefront-pick-solo .cvdds6-wizard-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
}
.cvdds6-app.cvdds6-storefront-pick-solo #cvdds6-wizard-footer:not([hidden]) {
  flex-shrink: 0 !important;
  margin-top: 10px !important;
  padding-top: 8px !important;
}
.cvdds6-app.cvdds6-storefront-pick-solo #cvdds6-gate-options.cvdds6-pick-grid-active {
  max-height: min(58vh, 560px) !important;
}
@media (max-width: 768px) {
  .cvdds6-app.cvdds6-storefront-pick-solo #cvdds6-gate-options.cvdds6-pick-grid-active {
    max-height: min(50vh, 420px) !important;
  }
}
.cvdds6-app.cvdds6-storefront-pick-solo .cvdds6-toast-wrap {
  z-index: 300 !important;
}

.cvdds6-option-gate-card {
  max-width: 560px;
  width: min(92%, 560px);
  text-align: center;
  color: #fff;
  background: rgba(11, 4, 28, .72);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 28px;
  padding: 34px 28px;
  box-shadow: 0 30px 90px rgba(0,0,0,.35), inset 0 0 0 1px rgba(255,255,255,.06);
}
.cvdds6-option-gate-icon {
  width: 60px;
  height: 60px;
  margin: 0 auto 16px;
  border-radius: 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: linear-gradient(135deg, #a735ff, #5f22ff);
  box-shadow: 0 0 26px rgba(180, 70, 255, .75);
  font-size: 28px;
}
.cvdds6-option-gate h2 { margin: 0 0 10px; font-size: clamp(22px, 2.4vw, 34px); line-height: 1.05; }
.cvdds6-option-gate p { margin: 0 auto 18px; color: rgba(255,255,255,.82); font-size: 15px; line-height: 1.55; max-width: 460px; }
#cvdds6-option-gate-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 8px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.16);
  color: #f7eaff;
  font-weight: 800;
}
.cvdds6-app.cvdds6-options-gated .cvdds6-stage-head #cvdds6-preview,
.cvdds6-app.cvdds6-options-gated #cvdds6-save-top,
.cvdds6-app.cvdds6-options-gated #cvdds6-load-designs { opacity: .35; pointer-events: none; }
@keyframes cvdds6GatePulse { from { transform: translateY(0); } to { transform: translateY(-2px); } }
@media(max-width: 900px){
  .cvdds6-option-gate-card{padding:24px 18px;border-radius:22px;}
  .cvdds6-option-gate h2{font-size:22px;}
}

/* V6.2 option gate: visual product-option selector inside the locked overlay */
.cvdds6-option-gate-card{max-width:min(780px,92vw)!important;width:min(780px,92vw)!important;}
.cvdds6-gate-options{margin-top:18px;display:grid;gap:16px;text-align:left;max-height:46vh;overflow:auto;padding:2px 6px 4px;scrollbar-width:thin;}
/* Storefront pick-product step: grid of products inside the gate */
#cvdds6-option-gate .cvdds6-option-gate-card.cvdds6-option-gate-card--pick{
  max-width:min(1100px,96vw)!important;
  width:min(1100px,96vw)!important;
}
#cvdds6-gate-options.cvdds6-pick-grid-active{
  max-height:min(52vh,620px);
  display:block;
}
.cvdds6-pick-products-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(148px,1fr));
  gap:14px;
  margin-top:4px;
}
.cvdds6-pick-product-card.cvdds6-product-card{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:10px;
  width:100%;
  margin:0;
  padding:12px;
  border-radius:18px;
  border:1px solid rgba(170,84,255,.55);
  background:linear-gradient(180deg,rgba(25,16,56,.96),rgba(15,10,36,.96));
  color:#fff;
  cursor:pointer;
  font:inherit;
  text-align:left;
  box-sizing:border-box;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.cvdds6-pick-product-card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 36px rgba(129,33,255,.35);
  border-color:#d79bff;
}
.cvdds6-pick-product-card.active{
  border-color:#fff;
  box-shadow:0 0 0 2px rgba(255,255,255,.22),0 0 28px rgba(197,57,255,.45);
}
.cvdds6-pick-card-imgwrap{
  aspect-ratio:1;
  border-radius:14px;
  overflow:hidden;
  background:rgba(0,0,0,.28);
  display:flex;
  align-items:center;
  justify-content:center;
}
.cvdds6-pick-card-imgwrap img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.cvdds6-pick-card-meta{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.cvdds6-pick-card-meta strong{
  font-size:13px;
  line-height:1.25;
  font-weight:800;
}
.cvdds6-pick-card-meta small{
  font-size:12px;
  opacity:.88;
  font-weight:600;
}
.cvdds6-pick-featured{
  display:inline-block;
  margin-left:6px;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#c4b5fd;
  vertical-align:middle;
}
.cvdds6-pick-empty{
  text-align:center;
  color:rgba(255,255,255,.88);
  padding:12px 8px;
  line-height:1.5;
  margin:0;
}
@media(max-width:768px){
  .cvdds6-pick-products-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;}
  #cvdds6-gate-options.cvdds6-pick-grid-active{max-height:min(48vh,480px);}
}
.cvdds6-gate-group{background:rgba(10,6,28,.52);border:1px solid rgba(190,120,255,.26);border-radius:20px;padding:14px;box-shadow:inset 0 0 30px rgba(138,43,226,.12)}
.cvdds6-gate-title{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#d9c4ff;margin:0 0 10px;font-weight:800;}
.cvdds6-gate-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(122px,1fr));gap:12px;}
.cvdds6-gate-opt{appearance:none;cursor:pointer;color:#fff;background:linear-gradient(180deg,rgba(25,16,56,.96),rgba(15,10,36,.96));border:1px solid rgba(170,84,255,.55);border-radius:18px;min-height:126px;padding:10px;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;font-weight:800;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;}
.cvdds6-gate-opt:hover{transform:translateY(-2px);border-color:#d79bff;box-shadow:0 0 0 2px rgba(172,72,255,.18),0 16px 40px rgba(129,33,255,.28);}
.cvdds6-gate-opt.active{background:linear-gradient(135deg,#982cff,#c832ff);border-color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.18),0 0 34px rgba(197,57,255,.7);}
.cvdds6-gate-opt img{width:74px;height:74px;object-fit:contain;border-radius:14px;background:rgba(255,255,255,.07);filter:drop-shadow(0 10px 18px rgba(0,0,0,.45));}
.cvdds6-gate-opt span{font-size:13px;line-height:1.15;text-transform:capitalize;}
.cvdds6-options-gated .cvdds6-option-gate{pointer-events:auto;}
.cvdds6-options-gated .cvdds6-option-gate .cvdds6-opt{pointer-events:auto;}
@media(max-width:900px){.cvdds6-gate-values{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));}.cvdds6-gate-opt{min-height:108px}.cvdds6-gate-opt img{width:58px;height:58px}}

/* V6.4 guided option wizard — stepper, motion, full-viewport overlay */
.cvdds6-wizard-head{position:relative;z-index:1;text-align:center;flex:0 0 auto}
.cvdds6-wizard-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;position:relative;z-index:1}
.cvdds6-option-gate-card{position:relative;overflow:hidden}
.cvdds6-wizard-aura{position:absolute;inset:-45%;background:radial-gradient(ellipse 75% 55% at 50% 18%,rgba(190,100,255,.38),transparent 58%),radial-gradient(ellipse 55% 45% at 85% 75%,rgba(70,20,180,.28),transparent 52%);animation:cvdds6AuraDrift 12s ease-in-out infinite alternate;pointer-events:none;z-index:0}
@keyframes cvdds6AuraDrift{0%{transform:translate(-1.5%,-1%) scale(1);opacity:.88}100%{transform:translate(2%,1.5%) scale(1.06);opacity:1}}
.cvdds6-wizard-progress{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 8px;margin:14px auto 18px;max-width:min(760px,100%);position:relative;z-index:1}
.cvdds6-wizard-pill{appearance:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:8px 16px 8px 10px;border-radius:999px;background:rgba(14,8,36,.82);border:1px solid rgba(180,120,255,.4);color:#efe6ff;font-size:11px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s ease,border-color .2s ease,background .2s ease,opacity .2s ease}
.cvdds6-wizard-pill:hover:not(:disabled){transform:translateY(-2px);border-color:rgba(230,180,255,.65);box-shadow:0 0 26px rgba(139,37,255,.4)}
.cvdds6-wizard-pill.is-current{background:linear-gradient(135deg,#8b2cff,#d040ff);border-color:rgba(255,255,255,.38);color:#fff;box-shadow:0 0 32px rgba(180,60,255,.55)}
.cvdds6-wizard-pill.is-done:not(.is-current){border-color:rgba(120,255,200,.35)}
.cvdds6-wizard-pill.is-locked{opacity:.42;cursor:not-allowed}
.cvdds6-wizard-pill .cvdds6-wizard-pill-ring{width:28px;height:28px;border-radius:50%;border:2px solid rgba(255,255,255,.32);display:grid;place-items:center;flex-shrink:0;transition:box-shadow .2s ease,border-color .2s ease}
.cvdds6-wizard-pill.is-current .cvdds6-wizard-pill-ring{border-color:#fff;box-shadow:0 0 14px rgba(255,255,255,.35)}
.cvdds6-wizard-pill.is-done .cvdds6-wizard-pill-ring{border-color:rgba(120,255,200,.75);background:rgba(50,200,140,.2)}
.cvdds6-wizard-pill-num{font-size:11px;font-weight:900}
.cvdds6-wizard-pill-lbl{max-width:min(200px,38vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cvdds6-gate-options--wizard{display:block!important;position:relative}
.cvdds6-gate-options--wizard .cvdds6-gate-step{display:none;opacity:0;transform:translate3d(20px,0,0);transition:opacity .4s cubic-bezier(.22,1,.36,1),transform .4s cubic-bezier(.22,1,.36,1)}
.cvdds6-gate-options--wizard .cvdds6-gate-step.is-active{display:block}
.cvdds6-gate-options--wizard .cvdds6-gate-step.is-active.is-entering{opacity:1;transform:translate3d(0,0,0)}
.cvdds6-wizard-footer{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center;padding-top:18px;position:relative;z-index:1}
.cvdds6-wizard-btn{min-width:136px;padding:12px 22px;font-weight:850;border-radius:14px;border:1px solid rgba(170,94,255,.55);background:rgba(16,10,38,.92);color:#fff;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}
.cvdds6-wizard-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 32px rgba(124,32,255,.38)}
.cvdds6-wizard-btn:disabled{opacity:.42;cursor:not-allowed}
.cvdds6-wizard-btn--primary{background:linear-gradient(135deg,#7c20ff,#b739ff);border-color:rgba(255,255,255,.28);box-shadow:0 0 28px rgba(150,60,255,.48)}
@media (prefers-reduced-motion:reduce){
 .cvdds6-wizard-aura{animation:none}
 .cvdds6-gate-options--wizard .cvdds6-gate-step{transition:none}
 .cvdds6-wizard-pill{transition:none}
}

/* V6.3 full-viewport option gate — no cramped right panel / no internal scrollbars */
.cvdds6-app.cvdds6-options-gated{
  grid-template-columns:74px 360px minmax(420px,1fr) 0px !important;
}
.cvdds6-app.cvdds6-options-gated .cvdds6-stage{
  grid-column:3 / 5 !important;
}
.cvdds6-app.cvdds6-options-gated .cvdds6-right{
  display:none !important;
  width:0 !important;
  min-width:0 !important;
  opacity:0 !important;
  pointer-events:none !important;
  visibility:hidden !important;
}
.cvdds6-app.cvdds6-options-gated .cvdds6-option-gate{
  position:fixed !important;
  left:0 !important;
  right:0 !important;
  top:0 !important;
  bottom:0 !important;
  width:100dvw !important;
  width:100vw !important;
  height:100dvh !important;
  height:100vh !important;
  max-height:100dvh !important;
  inset:0 !important;
  z-index:8000 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:stretch !important;
  /* Full-width edge-to-edge on desktop/tablet; mobile overrides in @media (max-width:768px) */
  padding:calc(12px + env(safe-area-inset-top,0px)) calc(12px + env(safe-area-inset-right,0px)) calc(14px + env(safe-area-inset-bottom,0px)) calc(12px + env(safe-area-inset-left,0px)) !important;
  background:radial-gradient(ellipse 120% 80% at 50% -20%,rgba(120,40,220,.45),transparent 55%),linear-gradient(165deg,rgba(38,0,88,.94),rgba(120,28,200,.85) 42%,rgba(18,4,48,.96)) !important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.cvdds6-app.cvdds6-options-gated .cvdds6-option-gate-card{
  width:100% !important;
  max-width:none !important;
  height:100% !important;
  max-height:none !important;
  padding:20px 28px !important;
  border-radius:26px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  overflow:hidden !important;
}
.cvdds6-app.cvdds6-options-gated .cvdds6-option-gate-icon{
  width:54px !important;
  height:54px !important;
  min-height:54px !important;
  margin-bottom:10px !important;
}
.cvdds6-app.cvdds6-options-gated .cvdds6-option-gate h2{
  margin-bottom:6px !important;
  font-size:clamp(24px,2.2vw,36px) !important;
}
.cvdds6-app.cvdds6-options-gated .cvdds6-option-gate p{
  margin-bottom:12px !important;
  max-width:760px !important;
}
.cvdds6-app.cvdds6-options-gated #cvdds6-option-gate-status{
  margin-bottom:12px !important;
  min-height:34px !important;
  flex:0 0 auto !important;
}
.cvdds6-app.cvdds6-options-gated .cvdds6-gate-options{
  flex:1 1 auto !important;
  min-height:0 !important;
  max-height:none !important;
  height:auto !important;
  overflow:auto !important;
  margin-top:0 !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr)) !important;
  gap:14px !important;
  align-content:start !important;
  -webkit-overflow-scrolling:touch;
}
.cvdds6-app.cvdds6-options-gated .cvdds6-gate-options.cvdds6-gate-options--wizard{
  display:block !important;
  grid-template-columns:unset !important;
  gap:0 !important;
  overflow:visible !important;
}
/* V6.5 guided wizard: one option group per step, full-viewport flow */
.cvdds6-app.cvdds6-options-gated .cvdds6-gate-options--wizard .cvdds6-gate-step{
  display:none !important;
}
.cvdds6-app.cvdds6-options-gated .cvdds6-gate-options--wizard .cvdds6-gate-step.is-active{
  display:block !important;
  animation: cvdds6WizardStepIn .48s cubic-bezier(.22,1,.36,1) both;
}
@keyframes cvdds6WizardStepIn{
  from{ opacity:0; transform: translateY(18px) scale(.987); filter: blur(5px); }
  to{ opacity:1; transform: none; filter: none; }
}
.cvdds6-app.cvdds6-options-gated .cvdds6-option-gate-card{
  position:relative !important;
  isolation:isolate !important;
}
.cvdds6-wizard-aura{
  position:absolute;
  inset:-35% -25% auto;
  height:125%;
  background:
    radial-gradient(ellipse 58% 48% at 50% 0%, rgba(215,95,255,.42), transparent 66%),
    radial-gradient(ellipse 52% 42% at 88% 48%, rgba(75,35,235,.38), transparent 62%),
    radial-gradient(ellipse 48% 38% at 12% 72%, rgba(255,110,195,.14), transparent 58%);
  animation: cvdds6AuraDrift 16s ease-in-out infinite alternate;
  pointer-events:none;
  z-index:0;
  opacity:.92;
}
@keyframes cvdds6AuraDrift{
  from{ transform: translate(-2%, -1%) rotate(-1.2deg) scale(1); }
  to{ transform: translate(2%, 2.5%) rotate(1deg) scale(1.05); }
}
.cvdds6-wizard-head{ position:relative; z-index:1; }
.cvdds6-wizard-body{
  position:relative; z-index:1;
  flex:1 1 auto !important;
  min-height:0 !important;
  display:flex !important;
  flex-direction:column !important;
}
.cvdds6-wizard-progress{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:center !important;
  gap:10px 12px !important;
  margin:4px 0 12px !important;
}
.cvdds6-wizard-pill{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  padding:10px 18px 10px 11px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.24) !important;
  background: rgba(5,2,20,.62) !important;
  color:#f7f0ff !important;
  font-weight:850 !important;
  font-size:11px !important;
  text-transform:uppercase !important;
  letter-spacing:.07em !important;
  cursor:pointer !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, opacity .22s ease !important;
  box-shadow: 0 6px 26px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.09) !important;
}
.cvdds6-wizard-pill:hover:not(:disabled){
  transform: translateY(-2px);
  border-color: rgba(255,255,255,.45) !important;
  box-shadow: 0 14px 40px rgba(120,45,255,.38) !important;
}
.cvdds6-wizard-pill.is-current{
  background: linear-gradient(135deg, #a020ff, #5c18ff) !important;
  border-color: rgba(255,255,255,.55) !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,.22), 0 18px 52px rgba(175,65,255,.55) !important;
}
.cvdds6-wizard-pill.is-done:not(.is-current){
  border-color: rgba(72,255,195,.5) !important;
  color: rgba(210,255,235,.96) !important;
}
.cvdds6-wizard-pill.is-locked{
  opacity:.42 !important;
  cursor:not-allowed !important;
  filter: grayscale(.12);
}
.cvdds6-wizard-pill-num{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:26px !important;
  height:26px !important;
  border-radius:999px !important;
  font-size:12px !important;
  font-weight:900 !important;
  background: rgba(0,0,0,.38) !important;
  border:1px solid rgba(255,255,255,.2) !important;
}
.cvdds6-wizard-pill.is-current .cvdds6-wizard-pill-num{
  background: rgba(255,255,255,.22) !important;
  border-color: rgba(255,255,255,.4) !important;
}
.cvdds6-wizard-pill-lbl{
  max-width:min(140px,32vw);
  text-align:left;
  line-height:1.2;
  letter-spacing:.04em;
}
.cvdds6-wizard-footer{
  position:relative !important;
  z-index:1 !important;
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:center !important;
  gap:12px !important;
  padding-top:clamp(10px,2.2vh,22px) !important;
  margin-top:auto !important;
}
.cvdds6-wizard-btn{
  min-width:min(160px,42vw) !important;
  padding:12px 22px !important;
  border-radius:14px !important;
  font-weight:850 !important;
  font-size:14px !important;
  letter-spacing:.02em !important;
  border:1px solid rgba(255,255,255,.24) !important;
  background: rgba(10,5,28,.78) !important;
  color:#fff !important;
  cursor:pointer !important;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease !important;
}
.cvdds6-wizard-btn:hover:not(:disabled){
  transform: translateY(-2px);
  box-shadow: 0 14px 40px rgba(95,40,220,.42) !important;
}
.cvdds6-wizard-btn:disabled{ opacity:.48 !important; cursor:not-allowed !important; }
.cvdds6-wizard-btn--primary{
  background: linear-gradient(135deg, #9b2dff, #5518ff) !important;
  border-color: rgba(255,255,255,.38) !important;
  box-shadow: 0 10px 36px rgba(125,50,255,.48) !important;
}
@media (prefers-reduced-motion: reduce){
  .cvdds6-app.cvdds6-options-gated .cvdds6-gate-options--wizard .cvdds6-gate-step.is-active{ animation:none !important; }
  .cvdds6-wizard-aura{ animation:none !important; }
}
.cvdds6-app.cvdds6-options-gated .cvdds6-gate-group{
  padding:12px !important;
  border-radius:18px !important;
  min-width:0 !important;
}
.cvdds6-app.cvdds6-options-gated .cvdds6-gate-title{
  margin-bottom:8px !important;
}
.cvdds6-app.cvdds6-options-gated .cvdds6-gate-values{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(92px,1fr)) !important;
  gap:10px !important;
}
.cvdds6-app.cvdds6-options-gated .cvdds6-gate-opt{
  min-height:96px !important;
  padding:8px !important;
  border-radius:16px !important;
}
.cvdds6-app.cvdds6-options-gated .cvdds6-gate-opt img{
  width:52px !important;
  height:52px !important;
}
.cvdds6-app.cvdds6-options-gated .cvdds6-gate-opt span{
  font-size:12px !important;
}
@media(max-height:760px){
  /* Keep desktop top inset under header; only tighten sides/bottom */
  .cvdds6-app.cvdds6-options-gated .cvdds6-option-gate{padding-right:16px!important;padding-bottom:12px!important;padding-left:calc(12px + env(safe-area-inset-left,0px))!important;}
  .cvdds6-app.cvdds6-options-gated .cvdds6-option-gate-card{padding:14px 18px !important;}
  .cvdds6-app.cvdds6-options-gated .cvdds6-option-gate-icon{width:42px !important;height:42px !important;min-height:42px !important;font-size:22px !important;}
  .cvdds6-app.cvdds6-options-gated .cvdds6-option-gate h2{font-size:24px !important;}
  .cvdds6-app.cvdds6-options-gated .cvdds6-option-gate p{display:none !important;}
  .cvdds6-app.cvdds6-options-gated .cvdds6-gate-options{grid-template-columns:repeat(auto-fit,minmax(250px,1fr)) !important;gap:10px !important;}
  .cvdds6-app.cvdds6-options-gated .cvdds6-gate-opt{min-height:82px !important;}
  .cvdds6-app.cvdds6-options-gated .cvdds6-gate-opt img{width:44px !important;height:44px !important;}
}
@media(max-width:1200px){
  .cvdds6-app.cvdds6-options-gated{grid-template-columns:64px 310px minmax(0,1fr) 0px !important;}
}

/* Desktop + tablet: flush wizard panel (mobile keeps rounded card from existing ≤768 rules) */
@media (min-width: 769px) {
  .cvdds6-app.cvdds6-options-gated .cvdds6-option-gate-card {
    border-radius: 0 !important;
  }
  /* Top bar (76px row) stacks above the gate — start content below it so the icon/steps aren’t hidden */
  .cvdds6-app.cvdds6-options-gated .cvdds6-option-gate {
    padding-top: calc(76px + 18px + env(safe-area-inset-top, 0px)) !important;
  }
  .cvdds6-app.cvdds6-options-gated .cvdds6-wizard-head {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    padding-top: 6px;
  }
  .cvdds6-app.cvdds6-options-gated .cvdds6-option-gate-icon {
    margin-left: auto !important;
    margin-right: auto !important;
    flex-shrink: 0;
  }
  .cvdds6-app.cvdds6-options-gated #cvdds6-wizard-progress {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    align-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 10px !important;
    margin-bottom: 16px !important;
  }
}
@media (min-width: 769px) and (max-width: 1200px) {
  .cvdds6-app.cvdds6-options-gated .cvdds6-option-gate {
    padding-top: calc(74px + 18px + env(safe-area-inset-top, 0px)) !important;
  }
}

/* V6.4 transform/click hardening */
#cvdds6-fullscreen-host .canvas-container{position:relative!important;pointer-events:auto!important;touch-action:none!important;user-select:none!important;z-index:3!important;}
#cvdds6-fullscreen-host .lower-canvas{z-index:1!important;pointer-events:none!important;}
#cvdds6-fullscreen-host .upper-canvas{z-index:25!important;pointer-events:auto!important;touch-action:none!important;cursor:default!important;}
#cvdds6-fullscreen-host .cvdds6-option-gate:not(.active){display:none!important;opacity:0!important;pointer-events:none!important;visibility:hidden!important;}
#cvdds6-fullscreen-host .cvdds6-canvas-area{pointer-events:auto!important;}
#cvdds6-fullscreen-host .cvdds6-canvas-area > .canvas-container{pointer-events:auto!important;}
#cvdds6-fullscreen-host .cvdds6-options-gated .canvas-container,
#cvdds6-fullscreen-host .cvdds6-options-gated .upper-canvas{pointer-events:none!important;}

/* Inactive option gate must never sit above the canvas in the hit-test stack */
#cvdds6-option-gate:not(.active) {
  pointer-events: none !important;
}

/* Mobile: when designer is unlocked, Fabric needs touch-action:none on the stack or the browser eats touchmove (no drag) */
@media (max-width: 768px) {
  #cvdds6-app:not(.cvdds6-options-gated) .cvdds6-canvas-area .canvas-container,
  #cvdds6-app:not(.cvdds6-options-gated) .cvdds6-canvas-area .upper-canvas {
    pointer-events: auto !important;
    touch-action: none !important;
    -ms-touch-action: none !important;
  }
  #cvdds6-app:not(.cvdds6-options-gated) .cvdds6-canvas-area .lower-canvas {
    touch-action: none !important;
    -ms-touch-action: none !important;
  }
  #cvdds6-fullscreen-host
    #cvdds6-app:not(.cvdds6-options-gated)
    .cvdds6-canvas-area
    .canvas-container,
  #cvdds6-fullscreen-host
    #cvdds6-app:not(.cvdds6-options-gated)
    .cvdds6-canvas-area
    .upper-canvas {
    pointer-events: auto !important;
    touch-action: none !important;
    -ms-touch-action: none !important;
  }
}

@media (max-width: 768px) {
  #cvdds6-fullscreen-host .cvdds6-left,
  #cvdds6-fullscreen-host .cvdds6-right {
    position: fixed !important;
    z-index: 42 !important;
  }
  #cvdds6-fullscreen-host .cvdds6-mobile-sheet-backdrop {
    position: fixed !important;
    z-index: 39 !important;
  }
  #cvdds6-fullscreen-host .cvdds6-mobile-dock {
    z-index: 45 !important;
  }
  .cvdds6-top-actions button:nth-child(-n + 2) {
    display: none !important;
  }
  .cvdds6-app.cvdds6-options-gated {
    grid-template-columns: 1fr !important;
  }
  .cvdds6-app.cvdds6-options-gated .cvdds6-stage {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }
  .cvdds6-app.cvdds6-options-gated .cvdds6-option-gate {
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    inset: 0 !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    padding: calc(10px + env(safe-area-inset-top, 0px)) 14px
      calc(12px + env(safe-area-inset-bottom, 0px)) !important;
  }
  .cvdds6-app.cvdds6-options-gated .cvdds6-gate-options {
    grid-template-columns: 1fr !important;
  }
  .cvdds6-app.cvdds6-options-gated .cvdds6-gate-values {
    grid-template-columns: repeat(auto-fit, minmax(88px, 1fr)) !important;
  }
  .cvdds6-option-gate.active {
    z-index: 8000 !important;
  }
  /* Stage holds the option gate; keep it above fixed left/right sheets (z-index 42) so gate controls receive taps */
  #cvdds6-fullscreen-host .cvdds6-app.cvdds6-options-gated .cvdds6-stage {
    z-index: 60 !important;
    position: relative;
    isolation: isolate;
  }
  #cvdds6-fullscreen-host .cvdds6-app.cvdds6-options-gated .cvdds6-left,
  #cvdds6-fullscreen-host .cvdds6-app.cvdds6-options-gated .cvdds6-right {
    z-index: 35 !important;
  }
  #cvdds6-fullscreen-host .cvdds6-app.cvdds6-options-gated .cvdds6-mobile-sheet-backdrop {
    z-index: 34 !important;
  }
}

.cvdds6-elements-hint {
  margin: 10px 0 6px;
  font-size: 12px;
  color: #a89fd4;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.cvdds6-elements-hint small {
  text-transform: none;
  letter-spacing: normal;
  opacity: 0.85;
}
.cvdds6-element-images {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
  gap: 8px;
  margin-top: 4px;
}
.cvdds6-element-images button {
  position: relative;
  padding: 0;
  border: 1px solid rgba(160, 90, 255, 0.45);
  border-radius: 10px;
  overflow: hidden;
  background: #120c24;
  cursor: pointer;
  aspect-ratio: 1;
  min-height: 72px;
}
.cvdds6-library-price-badge {
  position: absolute;
  right: 3px;
  bottom: 3px;
  max-width: calc(100% - 6px);
  font-size: 9px;
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: 0.02em;
  padding: 4px 6px;
  border-radius: 7px;
  background: linear-gradient(135deg, #5b21b6, #7c3aed);
  color: #fff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
  pointer-events: none;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  z-index: 2;
}
.cvdds6-element-images button img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.cvdds6-element-images.cvdds6-element-images--empty {
  font-size: 12px;
  color: #8a7eb8;
  display: block;
  grid-template-columns: none;
  padding: 8px 0;
}

/* Color variation swatches (attribute key/name contains "color") */
.cvdds6-opt-group--colors .cvdds6-opt-values {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 14px;
  align-items: flex-start;
}
.cvdds6-opt--swatch {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  min-width: 60px;
  max-width: 104px;
  padding: 8px 6px 10px;
  border-radius: 14px;
  border: 1px solid rgba(170, 94, 255, 0.45);
  background: rgba(14, 10, 28, 0.92);
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.12s ease;
}
.cvdds6-opt--swatch:hover {
  border-color: rgba(215, 155, 255, 0.85);
  transform: translateY(-1px);
}
.cvdds6-opt--swatch.active {
  border-color: #fff;
  box-shadow: 0 0 0 2px rgba(168, 85, 255, 0.65), 0 8px 22px rgba(124, 32, 255, 0.35);
}
.cvdds6-opt-swatch-dot {
  display: block;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--cvdds6-swatch, #666);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.28), 0 2px 10px rgba(0, 0, 0, 0.35);
  flex-shrink: 0;
}
.cvdds6-swatch--light .cvdds6-opt-swatch-dot {
  box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(255, 255, 255, 0.55);
}
.cvdds6-opt-swatch-name {
  font-size: 10px;
  line-height: 1.25;
  text-align: center;
  color: rgba(230, 220, 255, 0.9);
  max-width: 98px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  white-space: normal;
  word-break: break-word;
  text-transform: capitalize;
}
.cvdds6-gate-group--colors .cvdds6-gate-values {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(92px, 1fr));
  gap: 10px;
}
.cvdds6-gate-opt.cvdds6-gate-opt--swatch {
  min-height: auto !important;
  padding: 10px 8px !important;
  gap: 6px !important;
}
.cvdds6-gate-opt--swatch .cvdds6-opt-swatch-dot {
  width: 44px;
  height: 44px;
}
.cvdds6-gate-opt--swatch img {
  display: none !important;
}
.cvdds6-gate-opt--swatch .cvdds6-gate-opt-label {
  font-size: 11px;
  line-height: 1.15;
  text-transform: capitalize;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.cvdds6-app.cvdds6-options-gated .cvdds6-gate-opt--swatch {
  min-height: auto !important;
}

/* V6.5 mobile immersive — full-bleed sheets, single canvas column feel (≤768px only) */
@media (max-width: 768px) {
  #cvdds6-fullscreen-host .cvdds6-app {
    background: radial-gradient(
        circle at 50% 14%,
        #321578 0,
        #120a2e 38%,
        #05050d 72%,
        #020208 100%
      )
      fixed !important;
  }
  #cvdds6-fullscreen-host .cvdds6-stage {
    background-image: none !important;
  }
  #cvdds6-fullscreen-host .cvdds6-stage-head {
    border-bottom: none !important;
    background: linear-gradient(
      180deg,
      rgba(10, 8, 22, 0.92) 0%,
      rgba(8, 6, 18, 0.55) 100%
    ) !important;
    box-shadow: 0 1px 0 rgba(150, 60, 255, 0.14) !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  #cvdds6-fullscreen-host .cvdds6-zoom {
    border-top: none !important;
    background: rgba(6, 4, 14, 0.55) !important;
  }
  #cvdds6-fullscreen-host .cvdds6-topbar {
    border-bottom: none !important;
    background: rgba(5, 4, 12, 0.78) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.4) !important;
  }
  #cvdds6-fullscreen-host .canvas-container {
    border-radius: 14px !important;
    box-shadow: 0 12px 48px rgba(60, 20, 120, 0.45),
      0 0 0 1px rgba(150, 60, 255, 0.12) !important;
  }
  /* Bottom sheets: fill space under topbar instead of short “card” */
  #cvdds6-fullscreen-host .cvdds6-left,
  #cvdds6-fullscreen-host .cvdds6-right {
    top: 52px !important;
    bottom: calc(
      var(--cvdds6-m-status) + var(--cvdds6-m-dock) +
        env(safe-area-inset-bottom, 0px)
    ) !important;
    max-height: none !important;
    height: auto !important;
    min-height: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    border-top: 1px solid rgba(140, 55, 220, 0.28) !important;
    background: linear-gradient(180deg, #100a22 0%, #070611 55%, #04040c 100%) !important;
    transform: translate3d(0, 100%, 0) !important;
  }
  #cvdds6-fullscreen-host .cvdds6-left.open,
  #cvdds6-fullscreen-host .cvdds6-right.open {
    transform: translate3d(0, 0, 0) !important;
  }
  #cvdds6-fullscreen-host .cvdds6-mobile-sheet-backdrop {
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: calc(
      var(--cvdds6-m-status) + var(--cvdds6-m-dock) +
        env(safe-area-inset-bottom, 0px)
    ) !important;
    background: rgba(1, 0, 6, 0.62) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
  }
  #cvdds6-fullscreen-host .cvdds6-left.cvdds6-block-stack,
  #cvdds6-fullscreen-host .cvdds6-right.cvdds6-block-stack {
    min-height: 0 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 10px 12px 18px !important;
  }
  #cvdds6-fullscreen-host .cvdds6-mobile-chip-strip {
    border-bottom: none !important;
    box-shadow: 0 1px 0 rgba(150, 60, 255, 0.1) !important;
    margin: 0 -2px 6px -2px !important;
    padding-top: 8px !important;
  }
  #cvdds6-fullscreen-host .cvdds6-statusbar {
    border-top: none !important;
    background: #05050d !important;
    box-shadow: inset 0 1px 0 rgba(150, 60, 255, 0.12) !important;
  }
  #cvdds6-fullscreen-host .cvdds6-mobile-dock {
    border-top: none !important;
    background: #05050d !important;
    box-shadow: none !important;
    padding-top: 4px !important;
  }
  /* Option gate: edge-to-edge card on small screens */
  #cvdds6-fullscreen-host
    .cvdds6-app.cvdds6-options-gated
    .cvdds6-option-gate-card {
    border-radius: 0 !important;
    padding: 16px 14px 20px !important;
  }
  #cvdds6-fullscreen-host
    .cvdds6-app.cvdds6-options-gated
    .cvdds6-option-gate {
    padding: calc(10px + env(safe-area-inset-top, 0px)) 12px
      calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    background: linear-gradient(
      165deg,
      rgba(40, 0, 88, 0.96),
      rgba(110, 20, 180, 0.88) 45%,
      rgba(20, 6, 48, 0.94) 100%
    ) !important;
  }
}

/* Fabric sits after floating tools in DOM; pin overlays above .canvas-container so taps reach tool UI */
.cvdds6-canvas-area > .canvas-container {
  position: relative;
  z-index: 1;
}
.cvdds6-floating-tools,
.cvdds6-view-switch {
  z-index: 50;
}
.cvdds6-view-switch button:disabled,
.cvdds6-view-switch button.cvdds6-view-switch--disabled {
  opacity: 0.42;
  cursor: not-allowed;
  filter: grayscale(0.35);
}
/* Floating tools: expandable panel on mobile; desktop shows panel only (toggle hidden) */
.cvdds6-floating-tools-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  padding: 0;
  margin: 0;
  border-radius: 14px;
  border: 1px solid rgba(150, 60, 255, 0.45);
  background: linear-gradient(
    180deg,
    rgba(25, 16, 56, 0.96),
    rgba(15, 10, 36, 0.96)
  );
  color: #f0e8ff;
  cursor: pointer;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
  flex-shrink: 0;
}
.cvdds6-floating-tools-toggle:focus-visible {
  outline: 2px solid #c084fc;
  outline-offset: 2px;
}
.cvdds6-floating-tools-toggle-bars {
  display: block;
  width: 20px;
  height: 2px;
  border-radius: 2px;
  background: #f0e8ff;
  position: relative;
}
.cvdds6-floating-tools-toggle-bars::before,
.cvdds6-floating-tools-toggle-bars::after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  width: 20px;
  height: 2px;
  border-radius: 2px;
  background: #f0e8ff;
}
.cvdds6-floating-tools-toggle-bars::before {
  top: -7px;
}
.cvdds6-floating-tools-toggle-bars::after {
  top: 7px;
}
.cvdds6-floating-tools.cvdds6-floating-tools--open
  .cvdds6-floating-tools-toggle-bars {
  background: transparent;
}
.cvdds6-floating-tools.cvdds6-floating-tools--open
  .cvdds6-floating-tools-toggle-bars::before {
  top: 0;
  transform: rotate(45deg);
}
.cvdds6-floating-tools.cvdds6-floating-tools--open
  .cvdds6-floating-tools-toggle-bars::after {
  top: 0;
  transform: rotate(-45deg);
}
.cvdds6-floating-tools-panel {
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.cvdds6-floating-tools-mobile-more {
  display: none;
}
.cvdds6-floating-tools-zoomrow {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.cvdds6-floating-tools-zoomrow .cvdds6-floating-tools-zoompct {
  min-width: 3.2em;
  text-align: center;
  font-weight: 800;
  font-size: 12px;
  color: #e8defc;
}
.cvdds6-stage-head-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.cvdds6-floating-tools-toggle--head {
  display: none;
}
@media (min-width: 769px) {
  .cvdds6-floating-tools-toggle {
    display: none !important;
  }
  .cvdds6-floating-tools-panel {
    display: flex !important;
  }
}

/* Mobile: product header + canvas; zoom & Front/Back live in hamburger panel */
@media (max-width: 768px) {
  /* Fixed bottom sheets sit above the stage in z-order; disable hit-testing when closed so the canvas and header receive taps */
  .cvdds6-left:not(.open),
  .cvdds6-right:not(.open) {
    pointer-events: none !important;
  }
  .cvdds6-left.open,
  .cvdds6-right.open {
    pointer-events: auto !important;
  }
  #cvdds6-fullscreen-host .cvdds6-stage {
    z-index: 24 !important;
  }
  .cvdds6-stage {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    grid-template-areas:
      'cvdds6-m-head'
      'cvdds6-m-canvas' !important;
  }
  .cvdds6-stage-head {
    grid-area: cvdds6-m-head !important;
    position: relative !important;
    z-index: 100 !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
    padding: 8px 10px 6px !important;
  }
  .cvdds6-zoom,
  .cvdds6-view-switch {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
  .cvdds6-stage-head button {
    pointer-events: auto !important;
    touch-action: manipulation !important;
  }
  .cvdds6-canvas-area {
    grid-area: cvdds6-m-canvas !important;
    position: relative !important;
    z-index: 1 !important;
    padding-top: 4px !important;
    box-sizing: border-box !important;
    isolation: isolate;
    overscroll-behavior: contain;
  }
  #cvdds6-app:not(.cvdds6-options-gated) .cvdds6-canvas-area .canvas-container,
  #cvdds6-app:not(.cvdds6-options-gated) .cvdds6-canvas-area .upper-canvas,
  #cvdds6-app:not(.cvdds6-options-gated) .cvdds6-canvas-area .lower-canvas {
    touch-action: none !important;
    -ms-touch-action: none !important;
  }
  /* If option gate is inactive, keep Fabric interactive even if #cvdds6-app class is wrong */
  .cvdds6-canvas-area:has(#cvdds6-option-gate:not(.active)) .canvas-container,
  .cvdds6-canvas-area:has(#cvdds6-option-gate:not(.active)) .upper-canvas {
    pointer-events: auto !important;
    touch-action: none !important;
    -ms-touch-action: none !important;
  }
  .cvdds6-canvas-area:has(#cvdds6-option-gate:not(.active)) .lower-canvas {
    touch-action: none !important;
    -ms-touch-action: none !important;
  }
  .cvdds6-floating-tools > .cvdds6-floating-tools-toggle {
    display: none !important;
  }
  .cvdds6-floating-tools-toggle--head {
    display: flex !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: rgba(180, 100, 255, 0.25);
  }
  /* Closed: collapse fixed box completely so it cannot steal touches (some WebKit builds ignore pointer-events:none on wide fixed layers) */
  #cvdds6-floating-tools-root.cvdds6-floating-tools:not(.cvdds6-floating-tools--open) {
    position: fixed !important;
    left: auto !important;
    right: 0 !important;
    top: 0 !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    z-index: 500 !important;
  }
  #cvdds6-floating-tools-root.cvdds6-floating-tools.cvdds6-floating-tools--open {
    position: fixed !important;
    left: auto !important;
    right: 10px !important;
    top: calc(
      52px + env(safe-area-inset-top, 0px) + clamp(64px, 18vw, 118px)
    ) !important;
    bottom: auto !important;
    width: min(300px, calc(100vw - 20px)) !important;
    min-width: min(300px, calc(100vw - 20px)) !important;
    max-width: min(300px, calc(100vw - 20px)) !important;
    max-height: calc(
      100dvh - 52px - clamp(64px, 18vw, 118px) -
        var(--cvdds6-m-status) - var(--cvdds6-m-dock) -
        env(safe-area-inset-bottom, 0px) - 12px
    ) !important;
    height: auto !important;
    min-height: 0 !important;
    transform: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    z-index: 500 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
  }
  .cvdds6-floating-tools-panel {
    max-height: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: rgba(6, 5, 13, 0.96) !important;
    border-radius: 16px !important;
    transition: max-height 0.22s ease, opacity 0.18s ease, padding 0.18s ease,
      border 0.18s ease, box-shadow 0.18s ease;
  }
  .cvdds6-floating-tools-mobile-more {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: 100% !important;
    padding-top: 4px !important;
    margin-top: 6px !important;
    border-top: 1px solid rgba(150, 60, 255, 0.22) !important;
  }
  .cvdds6-floating-tools.cvdds6-floating-tools--open .cvdds6-floating-tools-panel {
    max-height: min(72vh, 520px) !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
    padding: 10px 12px !important;
    border: 1px solid rgba(150, 60, 255, 0.35) !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45) !important;
  }
  .cvdds6-floating-tools-panel button {
    min-height: 40px;
  }
  .cvdds6-floating-tools-zoomrow button {
    min-width: 44px;
  }
}

/* Mobile: hide Templates tab in the horizontal chip strip (desktop/tablet rail unchanged) */
@media (max-width: 768px) {
  .cvdds6-mobile-chip-strip button[data-tab='templates'] {
    display: none !important;
  }
}
