html.ppvc2-lock,body.ppvc2-lock{overflow:hidden!important}
.ppvc2,.ppvc2 *{box-sizing:border-box}
.ppvc2{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.ppvc2__launch{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 20px;border:0;border-radius:999px;background:#151517;color:#fff;font:inherit;font-size:13px;font-weight:760;cursor:pointer}
.ppvc2__launch-icon{color:#44AD47}
.ppvc2__modal{position:fixed;inset:0;z-index:999990;width:100vw;height:100dvh;display:none;grid-template-rows:74px minmax(0,1fr);overflow:hidden;background:#f2f2f3;color:#202024}
.ppvc2__modal.is-open{display:grid}
.ppvc2__topbar{z-index:50;display:grid;grid-template-columns:minmax(190px,1fr) minmax(0,auto) minmax(140px,1fr);align-items:center;gap:18px;padding:10px 18px;background:rgba(242,242,243,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(0,0,0,.035)}
.ppvc2__top-left{display:flex;align-items:center;justify-self:start;gap:10px}
.ppvc2__close{width:46px;height:46px;border:0;border-radius:50%;background:#fff;color:#303035;font-size:27px;cursor:pointer;box-shadow:0 3px 14px rgba(0,0,0,.05)}
.ppvc2__brand{display:flex;align-items:center;gap:7px;height:46px;padding:0 17px;border-radius:999px;background:#fff;font-size:13px;font-weight:800}
.ppvc2__brand-dot{width:9px;height:9px;border-radius:50%;background:#44AD47}
.ppvc2__toolbar{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0;max-width:min(900px,66vw);padding:6px;border-radius:18px;background:#3f3f44;box-shadow:0 12px 34px rgba(0,0,0,.12);overflow:visible}
.ppvc2__toolbar>button{min-height:40px;padding:0 15px;border:0;border-radius:12px;background:transparent;color:#fff;font:inherit;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}
.ppvc2__toolbar>button:hover{background:rgba(255,255,255,.09)}
.ppvc2__view-switcher{position:relative;flex:0 0 auto}
.ppvc2__view-current{min-height:40px;display:flex;align-items:center;gap:8px;padding:0 14px;border:0;border-radius:12px;background:rgba(255,255,255,.10);color:#fff;font:inherit;font-size:12px;font-weight:750;cursor:pointer}
.ppvc2__view-caret{font-size:15px;opacity:.72}
.ppvc2__view-menu{position:absolute;top:calc(100% + 9px);left:0;min-width:150px;padding:6px;border-radius:13px;background:#fff;box-shadow:0 18px 45px rgba(0,0,0,.16);opacity:0;visibility:hidden;transform:translateY(-5px) scale(.98);transform-origin:top left;transition:.18s ease;z-index:80}
.ppvc2__view-switcher.is-open .ppvc2__view-menu{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.ppvc2__view-option{width:100%;min-height:38px;padding:0 11px;border:0;border-radius:9px;background:transparent;color:#27272b;text-align:left;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.ppvc2__view-option:hover,.ppvc2__view-option.is-active{background:#f0f0f1}

.ppvc2__color-switcher{
 position:relative;
 flex:0 0 auto;
}
.ppvc2__color-current{
 min-height:40px;
 display:flex;
 align-items:center;
 gap:8px;
 padding:0 12px;
 border:0;
 border-radius:12px;
 background:transparent;
 color:#fff;
 font:inherit;
 font-size:12px;
 font-weight:700;
 cursor:pointer;
 white-space:nowrap;
}
.ppvc2__color-current:hover{
 background:rgba(255,255,255,.08);
}
.ppvc2__color-dot{
 width:20px;
 height:20px;
 flex:0 0 20px;
 border-radius:6px;
 background:#111;
 border:1px solid rgba(255,255,255,.22);
 box-shadow:0 1px 3px rgba(0,0,0,.18) inset;
}
.ppvc2__color-caret{
 opacity:.65;
 font-size:14px;
}
.ppvc2__color-menu{
 position:absolute;
 top:calc(100% + 9px);
 left:0;
 min-width:190px;
 max-height:280px;
 overflow:auto;
 padding:6px;
 border-radius:13px;
 background:#fff;
 box-shadow:0 18px 45px rgba(0,0,0,.16);
 opacity:0;
 visibility:hidden;
 transform:translateY(-5px) scale(.98);
 transform-origin:top left;
 transition:.18s ease;
 z-index:80;
}
.ppvc2__color-switcher.is-open .ppvc2__color-menu{
 opacity:1;
 visibility:visible;
 transform:translateY(0) scale(1);
}
.ppvc2__color-option{
 width:100%;
 min-height:40px;
 display:flex;
 align-items:center;
 gap:9px;
 padding:0 10px;
 border:0;
 border-radius:9px;
 background:transparent;
 color:#27272b;
 font:inherit;
 font-size:12px;
 font-weight:700;
 text-align:left;
 cursor:pointer;
}
.ppvc2__color-option:hover,
.ppvc2__color-option.is-active{
 background:#f0f0f1;
}
.ppvc2__color-option-dot{
 width:18px;
 height:18px;
 flex:0 0 18px;
 border-radius:5px;
 border:1px solid rgba(0,0,0,.10);
}
.ppvc2__order-button{justify-self:end;align-self:center;min-height:46px;padding:0 21px;border:0;border-radius:999px;background:#27272b;color:#fff;font:inherit;font-size:13px;font-weight:800;cursor:pointer}
.ppvc2__workspace{position:relative;min-height:0;overflow:hidden;background-color:#f3f3f4;background-image:radial-gradient(circle,rgba(100,100,105,.12) 1px,transparent 1.15px);background-size:28px 28px}
.ppvc2__canvas{position:absolute;inset:0;display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;align-items:center;gap:10px;padding:10px 80px 18px}
.ppvc2__stage{position:relative;width:100%;height:100%;min-height:0;display:flex;align-items:center;justify-content:center;overflow:visible;user-select:none;touch-action:none}
.ppvc2__product-image{width:auto;height:auto;display:block;object-fit:contain;pointer-events:none;filter:drop-shadow(0 18px 30px rgba(0,0,0,.08));transition:width .18s ease,height .18s ease,opacity .18s ease}
.ppvc2__print-zones{position:absolute;inset:0;z-index:3;pointer-events:none}
.ppvc2__print-zone{
 position:absolute;
 display:block;
 padding:0;
 border:1px solid rgba(95,95,100,.16);
 outline:none;
 border-radius:1px;
 background:transparent;
 color:#fff;
 pointer-events:auto;
 cursor:pointer;
 transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.ppvc2__print-zone:hover{
 border-color:rgba(80,80,85,.28);
 background:rgba(255,255,255,.012);
}
.ppvc2__print-zone.is-active{
 border-color:rgba(55,55,60,.30);
 background:rgba(255,255,255,.018);
 box-shadow:0 0 0 1px rgba(255,255,255,.10) inset;
}
.ppvc2__print-zone.has-design::after{
 content:"";
 position:absolute;
 right:5px;
 bottom:5px;
 width:5px;
 height:5px;
 border-radius:50%;
 background:rgba(80,80,85,.50);
}
.ppvc2__print-zone-name{
 display:none !important;
}
.ppvc2__print-zone:hover .ppvc2__print-zone-name,.ppvc2__print-zone.is-active .ppvc2__print-zone-name{opacity:1;transform:translateY(0)}
.ppvc2__area-hint{
 position:absolute;
 z-index:4;
 left:50%;
 bottom:14px;
 transform:translateX(-50%);
 display:flex;
 align-items:center;
 gap:7px;
 padding:7px 10px;
 border-radius:999px;
 background:rgba(255,255,255,.88);
 color:#77777c;
 font-size:9px;
 font-weight:700;
 box-shadow:0 3px 12px rgba(0,0,0,.045);
 pointer-events:none;
 transition:.18s ease;
}
.ppvc2__area-hint.is-hidden{opacity:0;transform:translateX(-50%) translateY(5px)}
.ppvc2__area-hint-dot{
 width:6px;
 height:6px;
 border-radius:50%;
 background:#8b8b90;
}
.ppvc2__logo-layer{position:absolute;z-index:10;transform:translate(-50%,-50%);cursor:grab;touch-action:none}
.ppvc2__logo-layer:not(.is-visible){pointer-events:none}
.ppvc2__logo-layer:active{cursor:grabbing}
.ppvc2__logo{width:100%;height:auto;max-height:220px;display:none;object-fit:contain;pointer-events:none}
.ppvc2__logo.is-visible{display:block}
.ppvc2__logo-layer.is-visible::before{content:"";position:absolute;inset:-5px;border:2px solid #0879ff;pointer-events:none}
.ppvc2__handle{position:absolute;width:14px;height:14px;display:none;border:2px solid #0879ff;border-radius:50%;background:#fff;transform:translate(-50%,-50%);cursor:nwse-resize;touch-action:none}
.ppvc2__logo-layer.is-visible .ppvc2__handle{display:block}
.ppvc2__handle--tl{left:-5px;top:-5px}.ppvc2__handle--tr{left:calc(100% + 5px);top:-5px}.ppvc2__handle--bl{left:-5px;top:calc(100% + 5px)}.ppvc2__handle--br{left:calc(100% + 5px);top:calc(100% + 5px)}
.ppvc2__thumbbar{max-width:min(88vw,700px);display:flex;align-items:center;gap:6px;padding:6px;border-radius:999px;background:rgba(214,214,217,.94);overflow-x:auto;scrollbar-width:none;box-shadow:0 4px 14px rgba(0,0,0,.05)}
.ppvc2__thumbbar::-webkit-scrollbar{display:none}
.ppvc2__thumb{width:50px;height:50px;flex:0 0 50px;padding:5px;border:0;border-radius:50%;background:transparent;cursor:pointer;transition:.16s ease}
.ppvc2__thumb.is-active{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.ppvc2__thumb img{width:100%;height:100%;display:block;object-fit:contain;border-radius:50%}
.ppvc2__zoom{position:absolute;left:18px;bottom:18px;display:flex;gap:8px;z-index:15}
.ppvc2__zoom button{width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:#55555a;font-size:21px;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.ppvc2__logo-panel{position:absolute;z-index:70;top:14px;bottom:14px;right:14px;width:min(410px,calc(100vw - 28px));padding:22px;border-radius:22px;background:#fff;box-shadow:0 25px 70px rgba(0,0,0,.16);transform:translateX(calc(100% + 32px));transition:transform .26s cubic-bezier(.2,.8,.2,1);overflow:auto}
.ppvc2__logo-panel.is-open{transform:translateX(0)}
.ppvc2__panel-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border:0;border-radius:50%;background:#f0f0f1;color:#606065;font-size:20px;cursor:pointer}
.ppvc2__panel-eyebrow{color:#44AD47;font-size:9px;font-weight:800;letter-spacing:.1em}
.ppvc2__logo-panel h3{margin:8px 42px 6px 0;font-size:24px;letter-spacing:-.04em}
.ppvc2__logo-panel p{margin:0 0 18px;color:#77777c;font-size:12px;line-height:1.5}
.ppvc2__url-row{display:flex;gap:7px}.ppvc2__website{flex:1;min-width:0;height:45px;padding:0 12px;border:1px solid #d8d8db;border-radius:10px;font:inherit;font-size:12px}
.ppvc2__find-logo{height:45px;padding:0 14px;border:0;border-radius:10px;background:#111214;color:#fff;font:inherit;font-size:11px;font-weight:750;cursor:pointer}
.ppvc2__status{min-height:18px;margin-top:8px;color:#77777c;font-size:10px}
.ppvc2__results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:8px}
.ppvc2__choice{position:relative;aspect-ratio:1;padding:7px;border:1px solid #e3e3e5;border-radius:10px;background:#fafafa;overflow:hidden;cursor:pointer}
.ppvc2__choice.is-active{border-color:#44AD47;box-shadow:0 0 0 2px rgba(68,173,71,.12)}
.ppvc2__choice img{width:100%;height:100%;object-fit:contain}
.ppvc2__choice span{position:absolute;left:4px;right:4px;bottom:4px;padding:3px;border-radius:5px;background:rgba(255,255,255,.94);color:#66666b;font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ppvc2__divider{display:flex;align-items:center;gap:10px;margin:20px 0;color:#99999d;font-size:10px}
.ppvc2__divider::before,.ppvc2__divider::after{content:"";flex:1;height:1px;background:#ececee}
.ppvc2__upload{width:100%;min-height:45px;display:flex;align-items:center;justify-content:center;border:1px solid #d9d9dc;border-radius:10px;background:#fff;color:#1d1d1f;font-size:11px;font-weight:750;cursor:pointer}
.ppvc2__upload input{display:none}.ppvc2__range{display:grid;gap:8px;margin-top:20px;color:#69696d;font-size:10px}.ppvc2__size{width:100%;accent-color:#44AD47}
@media(max-width:900px){.ppvc2__modal{grid-template-rows:64px minmax(0,1fr)}.ppvc2__topbar{grid-template-columns:auto minmax(0,1fr) auto;gap:8px;padding:7px 9px}.ppvc2__brand{display:none}.ppvc2__close{width:40px;height:40px;font-size:24px}.ppvc2__toolbar{max-width:none;width:100%;overflow-x:auto;scrollbar-width:none}.ppvc2__toolbar::-webkit-scrollbar{display:none}.ppvc2__toolbar>button{min-height:36px;padding:0 10px;font-size:10px}.ppvc2__view-current{min-height:36px;padding:0 10px;font-size:10px}.ppvc2__order-button{min-height:40px;padding:0 13px;font-size:11px}.ppvc2__canvas{padding:8px 10px 14px}.ppvc2__logo-panel{top:auto;left:8px;right:8px;bottom:8px;width:auto;max-height:78dvh;transform:translateY(calc(100% + 24px))}.ppvc2__logo-panel.is-open{transform:translateY(0)}}
@media(max-width:560px){.ppvc2__toolbar .ppvc2__center,.ppvc2__toolbar .ppvc2__remove-logo{display:none}.ppvc2__thumb{width:43px;height:43px;flex-basis:43px}.ppvc2__zoom{display:none}.ppvc2__results{grid-template-columns:repeat(2,minmax(0,1fr))}.ppvc2__url-row{flex-direction:column}.ppvc2__find-logo{width:100%}.ppvc2__print-zone-name{display:none}}
/* ORDINE REALE */
.promopak-builder .ppb-panel.ppvc2-real-order-open{
 position:fixed!important;z-index:1000005!important;
 top:max(14px,env(safe-area-inset-top))!important;
 right:max(14px,env(safe-area-inset-right))!important;
 bottom:max(14px,env(safe-area-inset-bottom))!important;left:auto!important;
 width:min(430px,calc(100vw - 28px))!important;max-width:none!important;
 height:auto!important;max-height:none!important;margin:0!important;padding:22px!important;
 overflow-y:auto!important;overscroll-behavior:contain;
 border:1px solid #e3e3e5!important;border-radius:22px!important;background:#fff!important;
 box-shadow:0 25px 80px rgba(0,0,0,.20)!important;transform:none!important
}
.promopak-builder .ppb-panel.ppvc2-real-order-open .ppb-kicker,
.promopak-builder .ppb-panel.ppvc2-real-order-open .ppb-title,
.promopak-builder .ppb-panel.ppvc2-real-order-open .ppb-minimum-card,
.promopak-builder .ppb-panel.ppvc2-real-order-open .ppb-step,
.promopak-builder .ppb-panel.ppvc2-real-order-open .ppb-order{display:block!important}
.promopak-builder .ppb-panel.ppvc2-real-order-open .ppb-colors{display:flex!important;flex-wrap:wrap!important}
.promopak-builder .ppb-panel.ppvc2-real-order-open .ppb-size-list,
.promopak-builder .ppb-panel.ppvc2-real-order-open .ppb-personalization-options{display:grid!important}
.promopak-builder .ppb-panel.ppvc2-real-order-open .ppb-order{
 width:100%!important;max-width:none!important;margin-top:18px!important
}

/* RESPONSIVE */
@media(max-width:1100px){
}
@media(max-width:900px){
 .ppvc2__modal{grid-template-rows:64px minmax(0,1fr)}
 .ppvc2__topbar{grid-template-columns:auto minmax(0,1fr) auto;gap:8px;padding:7px 9px}
 .ppvc2__brand{display:none}
 .ppvc2__close{width:40px;height:40px;flex-basis:40px;font-size:24px}
 .ppvc2__toolbar{max-width:none;width:100%}
 .ppvc2__toolbar button{min-height:36px;padding:0 10px;font-size:10px}
 .ppvc2__order-button{min-height:40px;padding:0 13px}
 .ppvc2__canvas{padding:8px 10px max(14px,env(safe-area-inset-bottom))}
 .ppvc2__logo-layer{width:24%;max-width:220px}
 .ppvc2__logo-panel{
   top:auto;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));width:auto;
   max-height:min(78dvh,680px);transform:translateY(calc(100% + 24px))
 }
 .ppvc2__logo-panel.is-open{transform:translateY(0)}
 .promopak-builder .ppb-panel.ppvc2-real-order-open{
   top:auto!important;right:8px!important;bottom:max(8px,env(safe-area-inset-bottom))!important;
   left:8px!important;width:auto!important;max-height:min(82dvh,760px)!important;
   padding:18px!important;border-radius:20px!important
 }
}
@media(max-width:560px){
 .ppvc2__topbar{min-height:58px;padding:6px 7px}
 .ppvc2__close{width:36px;height:36px;flex-basis:36px;font-size:22px}
 .ppvc2__toolbar .ppvc2__view,
 .ppvc2__toolbar .ppvc2__center,
 .ppvc2__toolbar .ppvc2__remove-logo{display:none}
 .ppvc2__toolbar .ppvc2__find-toggle{width:100%}
 .ppvc2__order-button{padding:0 11px;font-size:11px}
 .ppvc2__thumb{width:42px;height:42px;flex-basis:42px}
 .ppvc2__zoom{display:none}
 .ppvc2__results{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ppvc2__url-row{flex-direction:column}
 .ppvc2__find-logo{width:100%}
 .promopak-builder .ppb-panel.ppvc2-real-order-open{max-height:88dvh!important;padding:15px!important}
}
}


/* V2.6 - zone di stampa */
@media(max-width:900px){
 .ppvc2__zone-tabs{
   max-width:55vw;
   overflow-x:auto;
   scrollbar-width:none;
 }
 .ppvc2__zone-tabs::-webkit-scrollbar{display:none}
 .ppvc2__zone-tab{
   min-height:36px;
   padding:0 10px;
   font-size:10px;
 }
}

@media(max-width:560px){
 .ppvc2__toolbar{
   gap:2px;
 }
 .ppvc2__zone-tabs{
   max-width:48vw;
 }
 .ppvc2__zone-tab{
   padding:0 9px;
 }
 .ppvc2__toolbar .ppvc2__find-toggle{
   min-width:105px;
 }
}


/* V3.0 - griglia molto discreta, in stile editor professionale */
.ppvc2__print-zone[data-zone="chest"],
.ppvc2__print-zone[data-zone="back"]{
 background-image:
   linear-gradient(to right, rgba(80,80,85,.075) 1px, transparent 1px),
   linear-gradient(to bottom, rgba(80,80,85,.075) 1px, transparent 1px);
 background-size:33.333% 100%, 100% 50%;
}

.ppvc2__print-zone[data-zone="heart"],
.ppvc2__print-zone[data-zone="opposite"]{
 background:rgba(255,255,255,.005);
}

/* niente verde nella selezione delle aree */
.ppvc2__print-zone.is-active::before{
 display:none !important;
}

@media(max-width:900px){
 .ppvc2__color-current{
   min-height:36px;
   padding:0 9px;
   font-size:10px;
 }
 .ppvc2__color-dot{
   width:17px;
   height:17px;
   flex-basis:17px;
 }
 .ppvc2__color-label{
   max-width:72px;
   overflow:hidden;
   text-overflow:ellipsis;
 }
}
@media(max-width:560px){
 .ppvc2__color-label{
   display:none;
 }
 .ppvc2__color-current{
   padding:0 7px;
 }
}


/* V3.2 - micro animazioni e allineamento */
.ppvc2__close,
.ppvc2__order-button,
.ppvc2__toolbar>button,
.ppvc2__view-current,
.ppvc2__color-current,
.ppvc2__zoom button,
.ppvc2__thumb,
.ppvc2__view-option,
.ppvc2__color-option,
.ppvc2__panel-close{
 transition:
   transform .16s cubic-bezier(.2,.8,.2,1),
   background .16s ease,
   color .16s ease,
   box-shadow .16s ease,
   opacity .16s ease;
 will-change:transform;
}

@media(hover:hover){
 .ppvc2__close:hover,
 .ppvc2__order-button:hover,
 .ppvc2__toolbar>button:hover,
 .ppvc2__view-current:hover,
 .ppvc2__color-current:hover,
 .ppvc2__zoom button:hover,
 .ppvc2__panel-close:hover{
   transform:translateY(-2px);
 }

 .ppvc2__thumb:hover{
   transform:translateY(-2px) scale(1.04);
 }

 .ppvc2__view-option:hover,
 .ppvc2__color-option:hover{
   transform:translateX(2px);
 }
}

.ppvc2 .is-pressing{
 transform:scale(.96) !important;
}

.ppvc2__toolbar>button:focus-visible,
.ppvc2__view-current:focus-visible,
.ppvc2__color-current:focus-visible,
.ppvc2__order-button:focus-visible,
.ppvc2__close:focus-visible,
.ppvc2__zoom button:focus-visible{
 outline:2px solid rgba(68,173,71,.72);
 outline-offset:3px;
}

/* separatori più ordinati */
.ppvc2__view-switcher,
.ppvc2__color-switcher{
 display:flex;
 align-items:center;
}

.ppvc2__view-switcher::after,
.ppvc2__color-switcher::after{
 content:"";
 width:1px;
 height:26px;
 margin-left:4px;
 background:rgba(255,255,255,.10);
}

/* toolbar centrale più stabile visivamente */
.ppvc2__toolbar{
 min-height:52px;
}

.ppvc2__toolbar>button,
.ppvc2__view-current,
.ppvc2__color-current{
 height:40px;
}

/* zoom più leggibile */
.ppvc2__zoom{
 gap:7px;
}

.ppvc2__zoom button{
 width:44px;
 height:44px;
 font-size:23px;
 font-weight:500;
}

/* stato attivo miniature */
.ppvc2__thumb.is-active{
 transform:scale(1.03);
}

/* mobile: toolbar più compatta ma allineata */
@media(max-width:900px){
 .ppvc2__topbar{
   grid-template-columns:auto minmax(0,1fr) auto;
   gap:10px;
 }

 .ppvc2__toolbar{
   justify-content:flex-start;
   padding-inline:5px;
 }

 .ppvc2__view-switcher::after,
 .ppvc2__color-switcher::after{
   height:22px;
 }
}

@media(max-width:560px){
 .ppvc2__toolbar{
   gap:2px;
 }
 .ppvc2__toolbar>button,
 .ppvc2__view-current,
 .ppvc2__color-current{
   height:36px;
   min-height:36px;
 }
}


/* ============================================================
   V3.3 — CONTROLLI CENTRATI + CHIUSURA DRAWER ORDINE
============================================================ */

/* X principale: perfettamente centrata */
.ppvc2__close,
.ppvc2__panel-close,
.ppvc2__order-drawer-close{
 padding:0 !important;
 display:inline-flex !important;
 align-items:center !important;
 justify-content:center !important;
 line-height:1 !important;
 text-align:center !important;
 font-family:Arial,Helvetica,sans-serif !important;
}

/* X principale leggermente più elegante */
.ppvc2__close{
 font-size:28px !important;
 font-weight:300 !important;
}

/* X pannello logo */
.ppvc2__panel-close{
 font-size:21px !important;
 font-weight:400 !important;
}

/* Nuova X del pannello Ordina */
.promopak-builder .ppb-panel.ppvc2-real-order-open{
 position:fixed !important;
 padding-top:58px !important;
}

.promopak-builder .ppb-panel .ppvc2__order-drawer-close{
 display:none !important;
}

.promopak-builder .ppb-panel.ppvc2-real-order-open .ppvc2__order-drawer-close{
 position:absolute !important;
 top:16px !important;
 right:16px !important;
 z-index:30 !important;
 width:38px !important;
 height:38px !important;
 border:0 !important;
 border-radius:50% !important;
 background:#f1f1f2 !important;
 color:#55555a !important;
 cursor:pointer !important;
 box-shadow:none !important;
 font-size:22px !important;
 font-weight:400 !important;
 transition:
   transform .16s cubic-bezier(.2,.8,.2,1),
   background .16s ease !important;
}

.promopak-builder .ppb-panel.ppvc2-real-order-open .ppvc2__order-drawer-close:hover{
 background:#e7e7e9 !important;
 transform:scale(1.05) !important;
}

.promopak-builder .ppb-panel.ppvc2-real-order-open .ppvc2__order-drawer-close span{
 display:block !important;
 width:100% !important;
 line-height:1 !important;
 transform:translateY(-1px);
}

/* ------------------------------------------------------------
   + / − NEL MODULO ORDINE
   Copriamo le varianti di classe usate dal Product Builder.
------------------------------------------------------------ */

.promopak-builder .ppb-panel.ppvc2-real-order-open
:is(
 .ppb-size-row,
 .ppb-size-item,
 .ppb-qty-row,
 .ppb-quantity-row
) button,
.promopak-builder .ppb-panel.ppvc2-real-order-open
:is(
 .ppb-minus,
 .ppb-plus,
 .ppb-qty-minus,
 .ppb-qty-plus,
 .qty-minus,
 .qty-plus
){
 padding:0 !important;
 display:inline-flex !important;
 align-items:center !important;
 justify-content:center !important;
 text-align:center !important;
 line-height:1 !important;
 min-width:44px !important;
 width:44px !important;
 height:44px !important;
 min-height:44px !important;
 font-size:22px !important;
 font-weight:400 !important;
 font-family:Arial,Helvetica,sans-serif !important;
 border-radius:0 !important;
}

/* Primo e ultimo bottone dello stepper */
.promopak-builder .ppb-panel.ppvc2-real-order-open
:is(
 .ppb-stepper,
 .ppb-qty-stepper,
 .ppb-qty-control,
 .ppb-quantity-control
){
 display:grid !important;
 grid-template-columns:44px 58px 44px !important;
 align-items:stretch !important;
 overflow:hidden !important;
 min-height:44px !important;
 border:1px solid #dedee2 !important;
 border-radius:12px !important;
 background:#fff !important;
}

.promopak-builder .ppb-panel.ppvc2-real-order-open
:is(
 .ppb-stepper,
 .ppb-qty-stepper,
 .ppb-qty-control,
 .ppb-quantity-control
) button{
 border:0 !important;
 background:#fff !important;
 color:#222226 !important;
 border-radius:0 !important;
 box-shadow:none !important;
}

.promopak-builder .ppb-panel.ppvc2-real-order-open
:is(
 .ppb-stepper,
 .ppb-qty-stepper,
 .ppb-qty-control,
 .ppb-quantity-control
) button:first-child{
 border-right:1px solid #ededee !important;
}

.promopak-builder .ppb-panel.ppvc2-real-order-open
:is(
 .ppb-stepper,
 .ppb-qty-stepper,
 .ppb-qty-control,
 .ppb-quantity-control
) button:last-child{
 border-left:1px solid #ededee !important;
}

.promopak-builder .ppb-panel.ppvc2-real-order-open
:is(
 .ppb-stepper,
 .ppb-qty-stepper,
 .ppb-qty-control,
 .ppb-quantity-control
) input{
 width:58px !important;
 min-width:58px !important;
 height:44px !important;
 min-height:44px !important;
 padding:0 !important;
 border:0 !important;
 border-radius:0 !important;
 background:#fff !important;
 text-align:center !important;
 line-height:44px !important;
 font-size:15px !important;
 font-weight:750 !important;
 box-shadow:none !important;
 appearance:textfield !important;
}

/* Fallback: nel tuo builder lo stepper è spesso l'ultimo blocco della riga taglia */
.promopak-builder .ppb-panel.ppvc2-real-order-open .ppb-size-row button,
.promopak-builder .ppb-panel.ppvc2-real-order-open .ppb-size-list button{
 vertical-align:middle !important;
}

/* Zoom in basso: simboli centrati */
.ppvc2__zoom button{
 padding:0 !important;
 display:inline-flex !important;
 align-items:center !important;
 justify-content:center !important;
 line-height:1 !important;
 text-align:center !important;
 font-family:Arial,Helvetica,sans-serif !important;
}

/* Drawer ordine un po' più premium */
.promopak-builder .ppb-panel.ppvc2-real-order-open{
 scrollbar-width:thin;
 scrollbar-color:#d3d3d6 transparent;
}

.promopak-builder .ppb-panel.ppvc2-real-order-open::-webkit-scrollbar{
 width:7px;
}

.promopak-builder .ppb-panel.ppvc2-real-order-open::-webkit-scrollbar-thumb{
 background:#d3d3d6;
 border-radius:99px;
}

@media(max-width:900px){
 .promopak-builder .ppb-panel.ppvc2-real-order-open{
   padding-top:56px !important;
 }

 .promopak-builder .ppb-panel.ppvc2-real-order-open .ppvc2__order-drawer-close{
   top:12px !important;
   right:12px !important;
   width:36px !important;
   height:36px !important;
 }
}


/* ============================================================
   V3.4 — X ORDINE SEMPRE VISIBILE
============================================================ */

.promopak-builder .ppb-panel.ppvc2-real-order-open{
 position:fixed !important;
 padding-top:72px !important;
}

/* disattivata fuori dal drawer */
.promopak-builder .ppb-panel .ppvc2__order-drawer-close{
 display:none !important;
}

/* quando il drawer è aperto DEVE essere visibile */
.promopak-builder .ppb-panel.ppvc2-real-order-open > .ppvc2__order-drawer-close,
.promopak-builder .ppb-panel.ppvc2-real-order-open .ppvc2__order-drawer-close{
 display:inline-flex !important;
 visibility:visible !important;
 opacity:1 !important;
 position:absolute !important;
 top:18px !important;
 right:18px !important;
 z-index:9999 !important;
 width:42px !important;
 height:42px !important;
 min-width:42px !important;
 min-height:42px !important;
 margin:0 !important;
 padding:0 !important;
 border:0 !important;
 border-radius:50% !important;
 background:#f1f1f2 !important;
 color:#444448 !important;
 align-items:center !important;
 justify-content:center !important;
 line-height:1 !important;
 font-size:24px !important;
 font-family:Arial,Helvetica,sans-serif !important;
 font-weight:400 !important;
 cursor:pointer !important;
 box-shadow:0 2px 8px rgba(0,0,0,.05) !important;
 transform:none !important;
}

.promopak-builder .ppb-panel.ppvc2-real-order-open .ppvc2__order-drawer-close:hover{
 background:#e7e7e9 !important;
 transform:scale(1.04) !important;
}

.promopak-builder .ppb-panel.ppvc2-real-order-open .ppvc2__order-drawer-close span{
 display:flex !important;
 align-items:center !important;
 justify-content:center !important;
 width:100% !important;
 height:100% !important;
 line-height:1 !important;
 transform:translateY(-1px);
}

/* Piccola fascia libera in alto per evitare che il titolo copra la X */
.promopak-builder .ppb-panel.ppvc2-real-order-open::before{
 content:"";
 display:block;
 height:0;
}

@media(max-width:900px){
 .promopak-builder .ppb-panel.ppvc2-real-order-open{
   padding-top:66px !important;
 }

 .promopak-builder .ppb-panel.ppvc2-real-order-open .ppvc2__order-drawer-close{
   top:14px !important;
   right:14px !important;
   width:40px !important;
   height:40px !important;
   min-width:40px !important;
   min-height:40px !important;
 }
}


/* ============================================================
   V3.5 — PRODUCT BUILDER PIÙ COMPATTO SOLO DESKTOP
   Mobile/tablet restano invariati.
============================================================ */

@media(min-width:901px){

  /* Step quantità un po' più corto */
  .promopak-builder .ppb-step{
    padding:15px 0 !important;
  }

  .promopak-builder .ppb-step-head{
    margin-bottom:10px !important;
    gap:9px !important;
  }

  .promopak-builder .ppb-step-number{
    width:24px !important;
    height:24px !important;
    flex-basis:24px !important;
    font-size:10px !important;
  }

  .promopak-builder .ppb-step-head strong{
    font-size:14px !important;
    line-height:1.18 !important;
  }

  .promopak-builder .ppb-step-head small{
    margin-top:2px !important;
    font-size:10px !important;
    line-height:1.25 !important;
  }

  /* Lista taglie più compatta */
  .promopak-builder .ppb-size-list{
    gap:5px !important;
  }

  .promopak-builder .ppb-size-row{
    min-height:46px !important;
    padding:5px 6px 5px 11px !important;
    grid-template-columns:minmax(74px,1fr) auto !important;
    gap:8px !important;
    border-radius:10px !important;
  }

  .promopak-builder .ppb-size-info strong{
    font-size:12px !important;
    line-height:1.05 !important;
  }

  .promopak-builder .ppb-size-info small{
    margin-top:2px !important;
    font-size:9px !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  /* Stepper quantità più basso e allineato */
  .promopak-builder .ppb-stepper{
    height:34px !important;
    grid-template-columns:32px 42px 32px !important;
    border-radius:9px !important;
  }

  .promopak-builder .ppb-stepper button{
    width:32px !important;
    min-width:32px !important;
    height:34px !important;
    min-height:34px !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    line-height:1 !important;
    font-size:18px !important;
  }

  .promopak-builder .ppb-stepper input{
    width:42px !important;
    min-width:42px !important;
    height:34px !important;
    min-height:34px !important;
    padding:0 !important;
    line-height:34px !important;
    font-size:12px !important;
    text-align:center !important;
  }

  /* Personalizzazione un po' più compatta */
  .promopak-builder .ppb-personalization-options{
    gap:6px !important;
  }

  .promopak-builder .ppb-personalization-option{
    min-height:52px !important;
    padding:8px 10px !important;
    border-radius:10px !important;
  }

  /* Box ordine meno alto */
  .promopak-builder .ppb-order{
    margin-top:14px !important;
    padding:13px !important;
    border-radius:13px !important;
  }
}
