@import url('https://fonts.googleapis.com/css2?family=Audiowide&family=Bungee&family=Bungee+Inline&family=Monoton&family=Orbitron:wght@400;700;900&family=Oxanium:wght@400;700&family=Rajdhani:wght@400;700&display=swap');
.wccpp-wrap{width:100%;box-sizing:border-box;margin-top:18px;padding:0;border:1px solid #e2e8f0;border-radius:24px;background:#fff;overflow:hidden}
.wccpp-head{background:rgb(245,158,11);padding:16px 18px}
.wccpp-head h3{margin:0;font-size:30px;line-height:1.1;color:#fff;text-align:center;font-weight:800}
.wccpp-head p{display:none!important}
.wccpp-app{padding:18px}
.wccpp-form-shell{border:0;background:transparent;padding:0;margin-top:0}
.wccpp-form-intro{display:none}
.wccpp-form-intro strong{font-size:20px;color:#0f172a}
.wccpp-form-intro span{font-size:14px;color:#64748b}
.wccpp-fields{display:grid;grid-template-columns:1fr;gap:12px}
.wccpp-field{background:transparent;border:0;border-radius:0;padding:0;margin:0}
.wccpp-field strong{display:block;font-size:18px;color:#1f2937;margin-bottom:10px}
.wccpp-required{color:#dc2626}
.wccpp-field input[type=text],.wccpp-field input[type=file],.wccpp-field input[type=color],.wccpp-field select,.wccpp-field textarea{width:100%;border:1px solid #cbd5e1;border-radius:14px;padding:10px 12px;background:#fff;box-sizing:border-box;font-size:15px;color:#0f172a}
.wccpp-field input[type=color]{padding:4px;height:44px}
.wccpp-field textarea{min-height:42px;resize:none;overflow:hidden;line-height:1.25}
.wccpp-small{font-size:13px;color:#64748b;margin-top:8px}
.wccpp-upload-preview{margin-top:12px;border:1px dashed #cbd5e1;border-radius:16px;background:#fff;padding:10px;display:flex;justify-content:center;align-items:center;min-height:92px}
.wccpp-upload-preview[hidden]{display:none}
.wccpp-upload-preview img{display:block;max-width:100%;max-height:150px;object-fit:contain;border-radius:12px}
.wccpp-render-surfaces{position:absolute!important;left:-99999px!important;top:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important;pointer-events:none!important;opacity:0!important}
body.wccpp-personalized-product.wccpp-gallery-pending .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image:first-child img,
body.wccpp-personalized-product.wccpp-gallery-pending .woocommerce-product-gallery .wp-post-image,
body.wccpp-personalized-product.wccpp-gallery-pending .wd-product-gallery .wd-carousel-wrap .wd-carousel-item:first-child img,
body.wccpp-personalized-product.wccpp-gallery-pending .wd-images-gallery .wd-carousel-item:first-child img,
body.wccpp-personalized-product.wccpp-gallery-pending .product-images .wp-post-image,
body.wccpp-personalized-product.wccpp-gallery-pending .images .wp-post-image{opacity:0!important;transition:opacity .12s ease}
body.wccpp-personalized-product.wccpp-gallery-pending .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image:first-child,
body.wccpp-personalized-product.wccpp-gallery-pending .wd-product-gallery .wd-carousel-wrap .wd-carousel-item:first-child,
body.wccpp-personalized-product.wccpp-gallery-pending .wd-images-gallery .wd-carousel-item:first-child,
body.wccpp-personalized-product.wccpp-gallery-pending .product-images,
body.wccpp-personalized-product.wccpp-gallery-pending .images{background:#f2f3f5}

.wccpp-choice-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.wccpp-choice-btn{border:1px solid #d6dde8;background:#fff;border-radius:999px;padding:11px 18px;min-height:46px;cursor:pointer;transition:.18s;font-size:14px;font-weight:700;color:#334155;display:inline-flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 1px 4px rgba(15,23,42,.04)}
.wccpp-choice-btn:hover{border-color:rgba(43,183,169,.6);color:#0f766e;transform:translateY(-1px)}
.wccpp-choice-btn.is-active{border-color:rgb(43,183,169);background:rgba(43,183,169,.08);color:#0f766e;box-shadow:0 0 0 3px rgba(43,183,169,.12)}

.wccpp-option-grid{display:grid!important;grid-template-columns:repeat(5,minmax(74px,74px))!important;gap:12px!important;justify-content:flex-start!important;align-items:start!important;margin-top:10px!important}
.wccpp-asset-btn{position:relative!important;width:74px!important;min-width:74px!important;height:74px!important;min-height:74px!important;padding:0!important;border-radius:14px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;background:#fff!important;border:2px solid #e2e8f0!important;box-shadow:0 2px 8px rgba(15,23,42,.05)!important;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease!important;cursor:pointer}
.wccpp-asset-btn:hover{border-color:rgba(43,183,169,.65)!important;transform:translateY(-1px)!important}
.wccpp-asset-btn.is-active{border-color:rgb(43,183,169)!important;box-shadow:0 0 0 3px rgba(43,183,169,.18),0 4px 12px rgba(15,23,42,.08)!important}
.wccpp-asset-btn img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;margin:0!important;border-radius:12px!important}
.wccpp-asset-btn>span:not(.wccpp-asset-check){display:none!important}
.wccpp-asset-check{position:absolute!important;top:3px!important;right:3px!important;width:18px!important;height:18px!important;border-radius:999px!important;background:#fff!important;color:rgb(43,183,169)!important;display:none!important;align-items:center!important;justify-content:center!important;line-height:0!important;box-shadow:0 1px 5px rgba(15,23,42,.25)!important;z-index:2!important}
.wccpp-asset-btn.is-active .wccpp-asset-check{display:flex!important}
.wccpp-asset-check svg{display:block!important;width:16px!important;height:16px!important}

.wccpp-gallery-host-active{position:relative}
.wccpp-live-gallery{display:block;width:100%;max-width:100%}
.wccpp-live-main{position:relative;border:0;background:transparent;overflow:hidden;box-shadow:none;aspect-ratio:1/1;border-radius:0}
.wccpp-live-main-img{display:block;width:100%;height:100%;object-fit:contain;background:transparent}
.wccpp-live-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:14px}
.wccpp-live-thumb{padding:0;border:1px solid transparent;border-radius:0;background:transparent;overflow:hidden;cursor:pointer;transition:.18s;box-shadow:none;aspect-ratio:1/1}
.wccpp-live-thumb:hover{border-color:rgba(15,23,42,.14)}
.wccpp-live-thumb.is-active{border-color:rgba(43,183,169,.45);box-shadow:none}
.wccpp-live-thumb img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}

.wccpp-preview-action{margin-top:16px}
.wccpp-preview-btn{width:100%;border:0;border-radius:16px;background:rgb(245,158,11);color:#fff;padding:14px 18px;font-size:16px;font-weight:800;cursor:pointer;box-shadow:0 8px 18px rgba(245,158,11,.25);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.wccpp-preview-btn:hover{transform:translateY(-1px);filter:brightness(.98);box-shadow:0 10px 22px rgba(245,158,11,.32)}
.wccpp-preview-modal{position:fixed;inset:0;background:rgba(15,23,42,.72);display:none;align-items:center;justify-content:center;padding:24px;z-index:999999}
.wccpp-preview-modal.is-open{display:flex}
.wccpp-preview-dialog{position:relative;width:min(92vw,980px);max-height:90vh;background:#fff;border-radius:24px;padding:18px;box-shadow:0 24px 60px rgba(15,23,42,.3)}
.wccpp-preview-dialog-body{border:1px solid #e2e8f0;border-radius:20px;background:#fff;overflow:auto;max-height:calc(90vh - 70px)}
.wccpp-preview-modal-img{display:block;width:100%;height:auto;background:#fff}
.wccpp-preview-close{position:absolute;top:10px;right:10px;width:40px;height:40px;border-radius:999px;border:1px solid #e2e8f0;background:#fff;color:#334155;font-size:26px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(15,23,42,.12)}

@media(max-width:900px){
  .wccpp-wrap{padding:16px;border-radius:18px}
  .wccpp-head h3{font-size:30px}
  .wccpp-form-shell{padding:0}
  .wccpp-live-main{border-radius:18px;aspect-ratio:1/1}
  .wccpp-live-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:14px}
  .wccpp-option-grid{grid-template-columns:repeat(4,minmax(66px,66px))!important;gap:10px!important}
  .wccpp-live-thumbs{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .wccpp-preview-dialog{width:min(94vw,760px);padding:14px;border-radius:20px}
  .wccpp-asset-btn{width:66px!important;min-width:66px!important;height:66px!important;min-height:66px!important;border-radius:13px!important}
  .wccpp-asset-btn img{border-radius:11px!important}
}

@media(max-width:767px){
  .wccpp-option-grid{grid-template-columns:repeat(4,minmax(66px,66px))!important;gap:10px!important}
}



/* v16 theme override: brand buttons + popup close */
.wccpp-choice-btn,
.wccpp-wrap .wccpp-choice-btn,
.woocommerce div.product .wccpp-choice-btn{
  border-radius:18px!important;
  border:2px solid #e2e8f0!important;
  background:#ffffff!important;
  color:#111827!important;
  min-height:46px!important;
  padding:11px 20px!important;
  font-weight:800!important;
  box-shadow:0 2px 8px rgba(15,23,42,.04)!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.wccpp-choice-btn:hover,
.wccpp-wrap .wccpp-choice-btn:hover,
.woocommerce div.product .wccpp-choice-btn:hover{
  border-color:rgba(43,183,169,.65)!important;
  color:#0f766e!important;
  background:#fff!important;
}
.wccpp-choice-btn.is-active,
.wccpp-wrap .wccpp-choice-btn.is-active,
.woocommerce div.product .wccpp-choice-btn.is-active{
  border-color:rgb(43,183,169)!important;
  background:rgba(43,183,169,.10)!important;
  color:#0f766e!important;
  box-shadow:0 0 0 3px rgba(43,183,169,.16)!important;
}
.wccpp-preview-btn,
.wccpp-wrap .wccpp-preview-btn,
.woocommerce div.product .wccpp-preview-btn,
button.wccpp-preview-btn{
  background:rgb(245,158,11)!important;
  background-color:rgb(245,158,11)!important;
  color:#ffffff!important;
  border:2px solid rgb(245,158,11)!important;
  border-radius:16px!important;
  min-height:52px!important;
  font-size:16px!important;
  font-weight:900!important;
  text-transform:none!important;
  letter-spacing:0!important;
  box-shadow:0 10px 22px rgba(245,158,11,.28)!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.wccpp-preview-btn:hover,
.wccpp-wrap .wccpp-preview-btn:hover,
.woocommerce div.product .wccpp-preview-btn:hover{
  background:rgb(245,158,11)!important;
  background-color:rgb(245,158,11)!important;
  color:#ffffff!important;
  filter:brightness(.97)!important;
  transform:translateY(-1px)!important;
}
.wccpp-preview-dialog{position:relative!important;overflow:visible!important;}
.wccpp-preview-close,
button.wccpp-preview-close{
  position:absolute!important;
  top:-14px!important;
  right:-14px!important;
  width:42px!important;
  height:42px!important;
  border-radius:999px!important;
  border:2px solid #fff!important;
  background:rgb(245,158,11)!important;
  background-color:rgb(245,158,11)!important;
  color:#fff!important;
  font-size:28px!important;
  font-weight:900!important;
  line-height:34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  z-index:2!important;
  box-shadow:0 8px 22px rgba(15,23,42,.24)!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.wccpp-preview-close:hover,
button.wccpp-preview-close:hover{
  background:rgb(245,158,11)!important;
  color:#fff!important;
  transform:scale(1.04)!important;
}
.wccpp-live-thumb.is-active{
  border-color:rgb(43,183,169)!important;
  box-shadow:0 0 0 3px rgba(43,183,169,.16)!important;
}


/* v17 force theme-safe preview button + popup close */
.wccpp-wrap .wccpp-preview-btn,
.wccpp-wrap button.wccpp-preview-btn,
button.wccpp-preview-btn{
  background:rgb(245,158,11)!important;
  background-color:rgb(245,158,11)!important;
  color:#ffffff!important;
  border:0!important;
  border-radius:16px!important;
  padding:14px 18px!important;
  min-height:50px!important;
  font-size:16px!important;
  font-weight:800!important;
  line-height:1.1!important;
  text-align:center!important;
  width:100%!important;
  cursor:pointer!important;
  box-shadow:0 10px 22px rgba(245,158,11,.28)!important;
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease!important;
}
.wccpp-wrap .wccpp-preview-btn:hover,
button.wccpp-preview-btn:hover{
  background:rgb(245,158,11)!important;
  color:#ffffff!important;
  filter:brightness(.96)!important;
  transform:translateY(-1px)!important;
  box-shadow:0 12px 26px rgba(245,158,11,.34)!important;
}
.wccpp-preview-dialog{position:relative!important;padding:22px!important;border-radius:24px!important;overflow:visible!important;}
.wccpp-preview-close{
  position:absolute!important;
  top:-16px!important;
  right:-16px!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  border-radius:999px!important;
  border:3px solid #ffffff!important;
  background:rgb(245,158,11)!important;
  color:#ffffff!important;
  font-size:30px!important;
  font-weight:800!important;
  line-height:35px!important;
  padding:0!important;
  text-align:center!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:0 10px 24px rgba(15,23,42,.28)!important;
  cursor:pointer!important;
  z-index:5!important;
}
.wccpp-preview-close:hover{background:#d97706!important;color:#fff!important;transform:scale(1.04)!important;}


/* v18 real 3D GLB mug preview */
.wccpp-live-main{position:relative!important}
.wccpp-live-3d{
  position:absolute!important;
  inset:0!important;
  display:none!important;
  width:100%!important;
  height:100%!important;
  background:radial-gradient(circle at 50% 40%, #ffffff 0%, #f8fafc 58%, #eef2f7 100%)!important;
  border-radius:inherit!important;
  overflow:hidden!important;
}
.wccpp-live-main.is-3d .wccpp-live-main-img{display:none!important}
.wccpp-live-main.is-3d .wccpp-live-3d{display:block!important}
.wccpp-live-3d canvas{
  display:block!important;
  width:100%!important;
  height:100%!important;
  outline:none!important;
  touch-action:none!important;
  cursor:grab!important;
}
.wccpp-live-3d canvas:active{cursor:grabbing!important}
.wccpp-live-thumb[aria-label="Canlı Önizleme"]{
  border-color:rgba(245,158,11,.55)!important;
}
.wccpp-live-thumb.is-active[aria-label="Canlı Önizleme"]{
  border-color:rgb(245,158,11)!important;
  box-shadow:0 0 0 3px rgba(245,158,11,.18)!important;
}


/* v20 clean 3D preview refinements */
.wccpp-live-main{min-height:clamp(320px,46vw,720px)!important;}
.wccpp-live-main.is-3d .wccpp-live-main-img{display:none!important;}
.wccpp-live-main.is-3d .wccpp-live-3d{display:block!important;}
.wccpp-live-3d{display:none!important;position:absolute!important;inset:0!important;background:radial-gradient(circle at 50% 40%, #ffffff 0%, #f8fafc 62%, #eef2f7 100%)!important;}
.wccpp-live-3d canvas{display:block!important;width:100%!important;height:100%!important;touch-action:pan-y!important;cursor:grab!important;}
.wccpp-live-3d canvas:active{cursor:grabbing!important;}
.wccpp-preview-dialog-body{position:relative!important;min-height:320px!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.wccpp-preview-loading{display:none;align-items:center;justify-content:center;width:100%;min-height:320px;font-weight:700;color:#475569;background:linear-gradient(180deg,#ffffff,#f8fafc);border-radius:18px;}
.wccpp-preview-modal-img{display:block;max-width:100%;height:auto;border-radius:18px;background:#fff;}


/* v22 3D mug tuning */
.wccpp-live-main.is-3d .wccpp-live-3d{background:#ffffff;}
.wccpp-live-3d canvas{display:block;width:100%;height:100%;image-rendering:auto;}


/* v23 3D viewer background polish */
.wccpp-live-main.is-3d .wccpp-live-3d{background:#f2f3f5;}
.wccpp-live-main.is-3d .wccpp-live-3d-wrap{background:#f2f3f5;border-radius:18px;}


/* v24 interactive 3D modal */
.wccpp-preview-modal-3d{display:none;width:100%;height:min(72vh,760px);min-height:420px;background:#f2f3f5;border-radius:18px;overflow:hidden;}
.wccpp-preview-modal-3d.is-active{display:block;}
.wccpp-preview-modal-3d canvas{display:block!important;width:100%!important;height:100%!important;touch-action:none!important;cursor:grab!important;}
.wccpp-preview-modal-3d canvas:active{cursor:grabbing!important;}
.wccpp-preview-dialog-body{background:#f2f3f5!important;}


/* v25 3D scene card + sharper 3D presentation */
.wccpp-live-main.is-3d{background:#f2f3f5!important;}
.wccpp-live-3d,.wccpp-preview-modal-3d{position:relative;overflow:hidden;background:#f2f3f5!important;}
.wccpp-live-3d canvas,.wccpp-preview-modal-3d canvas{image-rendering:auto;}
.wccpp-3d-printscene{position:absolute;top:4px;left:50%;transform:translateX(-50%);width:min(62%,388px);z-index:4;pointer-events:none;display:none;}
.wccpp-live-main.is-3d .wccpp-3d-printscene,.wccpp-preview-modal-3d.is-active .wccpp-3d-printscene{display:block;}
.wccpp-3d-printscene-lines{position:relative;height:24px;}
.wccpp-3d-printscene-lines span{position:absolute;top:0;width:2px;height:24px;background:linear-gradient(180deg,rgba(148,163,184,.88),rgba(148,163,184,.35));box-shadow:0 0 0 1px rgba(255,255,255,.25);}
.wccpp-3d-printscene-lines span:first-child{left:18%;}
.wccpp-3d-printscene-lines span:last-child{right:18%;}
.wccpp-3d-printscene-card{position:relative;background:#fff;border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 14px 30px rgba(15,23,42,.14);padding:9px;}
.wccpp-3d-printscene-card::before,.wccpp-3d-printscene-card::after{content:'';position:absolute;top:-11px;width:12px;height:12px;border-radius:999px;background:#e2e8f0;border:2px solid #ffffff;box-shadow:0 4px 10px rgba(15,23,42,.10);}
.wccpp-3d-printscene-card::before{left:calc(18% - 6px);}
.wccpp-3d-printscene-card::after{right:calc(18% - 6px);}
.wccpp-3d-printscene-img{display:block;width:100%;aspect-ratio:20/8.5;object-fit:contain;background:#fff;border-radius:12px;}
@media(max-width:900px){
  .wccpp-3d-printscene{top:4px;width:min(72%,300px);}
  .wccpp-3d-printscene-lines{height:22px;}
  .wccpp-3d-printscene-lines span{height:22px;}
  .wccpp-3d-printscene-card{padding:8px;border-radius:15px;}
}


/* v31 layout polish: lower mug, bigger hanging scene, better mobile / modal fit */
.wccpp-live-main.is-3d{min-height:clamp(560px,54vw,860px)!important;}
.wccpp-3d-printscene{top:22px!important;width:min(74%,460px)!important;}
.wccpp-3d-printscene-lines{height:30px!important;}
.wccpp-3d-printscene-lines span{height:30px!important;}
.wccpp-3d-printscene-card{padding:12px!important;border-radius:20px!important;}
.wccpp-3d-printscene-img{border-radius:14px!important;}
.wccpp-preview-dialog{width:min(94vw,980px)!important;max-width:980px!important;}
.wccpp-preview-dialog-body{display:flex!important;align-items:center!important;justify-content:center!important;overflow:auto!important;}
.wccpp-preview-modal-3d{width:min(100%,900px)!important;aspect-ratio:1 / 1!important;height:auto!important;min-height:min(88vw,760px)!important;max-height:calc(90vh - 110px)!important;margin:0 auto!important;border-radius:24px!important;}
.wccpp-preview-modal-3d .wccpp-3d-printscene{top:22px!important;width:min(72%,420px)!important;}
@media(max-width: 980px){
  .wccpp-live-main.is-3d{min-height:680px!important;}
}
@media(max-width: 767px){
  .wccpp-live-main.is-3d{min-height:700px!important;}
  .wccpp-3d-printscene{top:26px!important;width:min(calc(100% - 36px),320px)!important;}
  .wccpp-3d-printscene-lines{height:24px!important;}
  .wccpp-3d-printscene-lines span{height:24px!important;}
  .wccpp-3d-printscene-card{padding:10px!important;border-radius:18px!important;}
  .wccpp-preview-dialog{width:min(96vw,620px)!important;padding:14px!important;border-radius:22px!important;}
  .wccpp-preview-dialog-body{max-height:none!important;}
  .wccpp-preview-modal-3d{width:100%!important;aspect-ratio:1 / 1!important;min-height:min(calc(100vw - 44px),560px)!important;max-height:none!important;}
  .wccpp-preview-modal-3d .wccpp-3d-printscene{top:20px!important;width:min(calc(100% - 36px),300px)!important;}
}


/* v32 final layout fix: restore mobile, square 1000x1000 stage, no overlap */
.wccpp-live-main.is-3d{
  aspect-ratio:1 / 1 !important;
  height:auto !important;
  min-height:0 !important;
  background:#f2f3f5 !important;
}
.wccpp-live-main.is-3d .wccpp-live-3d,
.wccpp-live-main.is-3d .wccpp-live-3d-wrap,
.wccpp-preview-modal-3d{
  background:#f2f3f5 !important;
}
.wccpp-3d-printscene{
  top:28px !important;
  width:min(calc(100% - 84px), 560px) !important;
}
.wccpp-3d-printscene-lines{height:34px !important;}
.wccpp-3d-printscene-lines span{height:34px !important;}
.wccpp-3d-printscene-card{padding:14px !important;border-radius:22px !important;}
.wccpp-3d-printscene-img{border-radius:16px !important;}

.wccpp-preview-dialog{
  width:min(94vw, 1080px) !important;
  max-width:1080px !important;
}
.wccpp-preview-dialog-body{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:12px !important;
  overflow:auto !important;
  max-height:calc(92vh - 86px) !important;
  background:#f2f3f5 !important;
}
.wccpp-preview-modal-3d{
  width:min(calc(100vw - 56px), 1000px) !important;
  aspect-ratio:1 / 1 !important;
  height:auto !important;
  min-height:0 !important;
  max-height:calc(92vh - 118px) !important;
  margin:0 auto !important;
  border-radius:24px !important;
  overflow:hidden !important;
}
.wccpp-preview-modal-3d .wccpp-3d-printscene{
  top:28px !important;
  width:min(calc(100% - 96px), 560px) !important;
}

@media (max-width: 767px){
  .wccpp-live-main.is-3d{
    aspect-ratio:1 / 1 !important;
    height:auto !important;
    min-height:0 !important;
  }
  .wccpp-3d-printscene{
    top:18px !important;
    width:min(calc(100% - 24px), 280px) !important;
  }
  .wccpp-3d-printscene-lines{height:22px !important;}
  .wccpp-3d-printscene-lines span{height:22px !important;}
  .wccpp-3d-printscene-card{padding:10px !important;border-radius:18px !important;}

  .wccpp-preview-dialog{
    width:min(96vw, 430px) !important;
    padding:12px !important;
    border-radius:22px !important;
  }
  .wccpp-preview-dialog-body{
    padding:8px !important;
    max-height:calc(92vh - 80px) !important;
  }
  .wccpp-preview-modal-3d{
    width:min(calc(100vw - 32px), 380px) !important;
    aspect-ratio:1 / 1 !important;
    min-height:0 !important;
    max-height:none !important;
    border-radius:22px !important;
  }
  .wccpp-preview-modal-3d .wccpp-3d-printscene{
    top:16px !important;
    width:min(calc(100% - 26px), 260px) !important;
  }
}


/* v33 final position tuning: lower mug, enlarge/lower print scene, fix mobile/modal fit */
.wccpp-live-main.is-3d,
.wccpp-preview-modal-3d{
  background:#f2f3f5 !important;
}
.wccpp-live-main.is-3d{
  aspect-ratio:1 / 1 !important;
  height:auto !important;
  min-height:0 !important;
}
.wccpp-3d-printscene{
  top:62px !important;
  width:min(calc(100% - 120px), 620px) !important;
  max-width:620px !important;
}
.wccpp-3d-printscene-lines{height:36px !important;}
.wccpp-3d-printscene-lines span{height:36px !important;}
.wccpp-3d-printscene-card{padding:14px !important;border-radius:24px !important;}
.wccpp-3d-printscene-img{border-radius:18px !important;}

.wccpp-preview-dialog{
  width:min(94vw, 1120px) !important;
  max-width:1120px !important;
}
.wccpp-preview-dialog-body{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:14px !important;
  max-height:calc(92vh - 84px) !important;
  overflow:auto !important;
}
.wccpp-preview-modal-3d{
  width:min(calc(100vw - 64px), 1000px) !important;
  aspect-ratio:1 / 1 !important;
  height:auto !important;
  min-height:0 !important;
  max-height:calc(92vh - 120px) !important;
  margin:0 auto !important;
  border-radius:26px !important;
  overflow:hidden !important;
}
.wccpp-preview-modal-3d .wccpp-3d-printscene{
  top:58px !important;
  width:min(calc(100% - 140px), 600px) !important;
  max-width:600px !important;
}

@media (max-width: 767px){
  .wccpp-live-main.is-3d{
    aspect-ratio:1 / 1 !important;
    height:auto !important;
    min-height:0 !important;
  }
  .wccpp-3d-printscene{
    top:28px !important;
    width:min(calc(100% - 24px), 250px) !important;
    max-width:250px !important;
  }
  .wccpp-3d-printscene-lines{height:24px !important;}
  .wccpp-3d-printscene-lines span{height:24px !important;}
  .wccpp-3d-printscene-card{padding:10px !important;border-radius:18px !important;}

  .wccpp-preview-dialog{
    width:min(96vw, 430px) !important;
    padding:12px !important;
    border-radius:22px !important;
  }
  .wccpp-preview-dialog-body{
    padding:10px !important;
    max-height:calc(92vh - 78px) !important;
  }
  .wccpp-preview-modal-3d{
    width:min(calc(100vw - 32px), 390px) !important;
    aspect-ratio:1 / 1 !important;
    min-height:0 !important;
    max-height:none !important;
    border-radius:22px !important;
  }
  .wccpp-preview-modal-3d .wccpp-3d-printscene{
    top:22px !important;
    width:min(calc(100% - 26px), 240px) !important;
    max-width:240px !important;
  }
}


/* v36 3D preview badge */
.wccpp-3d-badge{position:absolute;top:18px;left:18px;z-index:8;display:none;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:rgba(15,23,42,.92);color:#fff;font-size:13px;font-weight:800;letter-spacing:.02em;box-shadow:0 10px 24px rgba(15,23,42,.16);backdrop-filter:blur(6px);pointer-events:none;text-transform:uppercase}
.wccpp-3d-badge-dot{width:10px;height:10px;border-radius:999px;background:linear-gradient(135deg,#22c55e,#06b6d4);box-shadow:0 0 0 2px rgba(255,255,255,.18)}
.wccpp-live-main{position:relative}
.wccpp-live-main.is-3d .wccpp-3d-badge-live{display:inline-flex}
.wccpp-preview-dialog-body{position:relative}
.wccpp-preview-dialog-body.is-3d-active .wccpp-3d-badge-modal{display:inline-flex}
@media (max-width: 767px){
  .wccpp-3d-badge{top:12px;left:12px;padding:8px 12px;font-size:12px}
}


/* v37 theme-like gallery + flat personalizer layout */
.wccpp-form-shell-flat{border:0!important;background:transparent!important;padding:0!important;box-shadow:none!important;border-radius:0!important;}
.wccpp-form-shell-flat .wccpp-fields{gap:12px!important;}
.wccpp-gallery-host-active{padding:0!important;background:transparent!important;}
.wccpp-live-gallery{padding:0!important;margin:0!important;}
.wccpp-live-main{margin:0!important;}
.wccpp-live-thumbs{background:transparent!important;}
.wccpp-live-thumb{appearance:none!important;-webkit-appearance:none!important;}
@media(min-width:1025px){
  .wccpp-option-grid{grid-template-columns:repeat(5,minmax(74px,74px))!important;}
}
@media(min-width:768px) and (max-width:1024px){
  .wccpp-option-grid{grid-template-columns:repeat(4,minmax(66px,66px))!important;}
}
@media(max-width:767px){
  .wccpp-option-grid{grid-template-columns:repeat(4,minmax(66px,66px))!important;}
}


/* v38 restore native product gallery visuals */
.wccpp-gallery-host-active>*{display:inherit!important;}
.wccpp-gallery-host-active .wccpp-live-gallery{display:none!important;}
@media(max-width:767px){
  .wccpp-option-grid{grid-template-columns:repeat(4,minmax(60px,60px))!important;}
}

/* v40 safe fix: show injected 3D viewer on existing theme gallery box without adding layout-changing classes. */
body .is-3d > .wccpp-live-3d{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:3!important;}
body .is-3d > .wccpp-3d-badge-live{display:inline-flex!important;z-index:7!important;}
body .is-3d .wccpp-live-3d canvas{display:block!important;width:100%!important;height:100%!important;}


/* v43 final layout + responsive asset grid + native left gallery */
.wccpp-wrap{padding:0!important;overflow:hidden!important;border-radius:24px!important}
.wccpp-head{padding:16px 18px!important;background:rgb(245,158,11)!important;border-radius:24px 24px 0 0!important}
.wccpp-head h3{margin:0!important;text-align:center!important;color:#fff!important;font-size:30px!important;font-weight:800!important}
.wccpp-app{padding:18px!important}
.wccpp-form-shell-flat,.wccpp-form-shell{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important}
.wccpp-fields{gap:12px!important}
.wccpp-field{background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;margin:0!important}
.wccpp-field + .wccpp-field{margin-top:2px!important}
.wccpp-required{color:#dc2626!important}
.wccpp-option-grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:12px!important;justify-content:stretch!important;align-items:stretch!important}
.wccpp-asset-btn{width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;aspect-ratio:1/1!important;border-radius:14px!important}
.wccpp-asset-btn img{width:100%!important;height:100%!important;object-fit:contain!important;border-radius:12px!important}
.wccpp-gallery-host-active .wccpp-live-gallery,.wccpp-live-gallery,.wccpp-live-3d,.wccpp-3d-badge-live{display:none!important}
body.wccpp-personalized-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image:first-child img,
body.wccpp-personalized-product .woocommerce-product-gallery .wp-post-image,
body.wccpp-personalized-product .wd-product-gallery .wd-carousel-wrap .wd-carousel-item:first-child img,
body.wccpp-personalized-product .wd-images-gallery .wd-carousel-item:first-child img,
body.wccpp-personalized-product .product-images .wp-post-image,
body.wccpp-personalized-product .images .wp-post-image{opacity:1!important;visibility:visible!important}
@media(min-width:768px) and (max-width:1024px){
  .wccpp-option-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:11px!important}
  .wccpp-asset-btn{border-radius:13px!important}
}
@media(max-width:900px){
  .wccpp-wrap{padding:0!important;border-radius:22px!important}
  .wccpp-head{padding:15px 16px!important;border-radius:22px 22px 0 0!important}
  .wccpp-app{padding:16px!important}
}
@media(max-width:767px){
  .wccpp-wrap{padding:0!important;border-radius:20px!important}
  .wccpp-head{padding:14px 14px!important;border-radius:20px 20px 0 0!important}
  .wccpp-head h3{font-size:28px!important}
  .wccpp-app{padding:14px!important}
  .wccpp-option-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
  .wccpp-asset-btn{border-radius:12px!important}
  .wccpp-asset-btn img{border-radius:10px!important}
}


/* v49: compact fast customer text fields */
.wccpp-field textarea,
.wccpp-field .wccpp-textarea{
  min-height:44px!important;
  height:44px!important;
  max-height:44px!important;
  resize:none!important;
  overflow:hidden!important;
  line-height:22px!important;
  padding:10px 12px!important;
}


/* v50 optional field label */
.wccpp-optional{color:#64748b!important;font-size:.78em!important;font-weight:600!important;letter-spacing:.01em!important}
.wccpp-field label strong{display:flex!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important}


/* v54 visible preview placeholder */
.wccpp-field textarea::placeholder,
.wccpp-field .wccpp-textarea::placeholder,
.wccpp-field input[type=text]::placeholder{
  color:#94a3b8!important;
  opacity:1!important;
  font-weight:500!important;
}


/* v57 required validation */
.wccpp-validation-note{margin:0 0 14px!important;padding:12px 14px!important;border-radius:12px!important;background:#fef2f2!important;border:1px solid #fecaca!important;color:#b91c1c!important;font-size:14px!important;font-weight:600!important}
.wccpp-field.is-invalid input[type=file],
.wccpp-field.is-invalid input[type=text],
.wccpp-field.is-invalid textarea{border-color:#ef4444!important;box-shadow:0 0 0 3px rgba(239,68,68,.10)!important}
.wccpp-field.is-invalid .wccpp-choice-list,
.wccpp-field.is-invalid .wccpp-option-grid{padding:8px!important;border:1px solid #ef4444!important;border-radius:14px!important;background:#fff7f7!important}

/* v66 safe cup model selector */
.wccpp-cup-wrap{width:100%;box-sizing:border-box;margin:18px 0;padding:0;border:1px solid #e2e8f0;border-radius:24px;background:#fff;overflow:hidden}
.wccpp-cup-head{background:rgb(245,158,11);padding:16px 18px}
.wccpp-cup-head h3{margin:0;text-align:center;color:#fff;font-size:28px;line-height:1.1;font-weight:800}
.wccpp-cup-options{display:grid;grid-template-columns:1fr;gap:12px;padding:18px}
.wccpp-cup-option{display:flex;align-items:center;gap:12px;justify-content:space-between;border:1px solid #e2e8f0;border-radius:16px;padding:14px 16px;background:#fff;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.wccpp-cup-option:hover{border-color:rgba(245,158,11,.65)}
.wccpp-cup-option.is-active{border-color:rgb(245,158,11);box-shadow:0 0 0 3px rgba(245,158,11,.14);background:#fffaf0}
.wccpp-cup-option input{margin:0!important;flex:0 0 auto}
.wccpp-cup-label{font-weight:800;color:#0f172a;flex:1;text-align:left}
.wccpp-cup-price{font-weight:800;color:#0f172a;white-space:nowrap}
@media(max-width:767px){.wccpp-cup-head h3{font-size:24px}.wccpp-cup-options{padding:14px}.wccpp-cup-option{padding:12px 13px}.wccpp-cup-label,.wccpp-cup-price{font-size:14px}}

/* v68 magic mug notice */
.wccpp-magic-notice{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  z-index:9;
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(245,158,11,.34);
  background:rgba(255,248,235,.96);
  color:#7c2d12;
  box-shadow:0 14px 34px rgba(15,23,42,.14);
  backdrop-filter:blur(10px);
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
  pointer-events:none;
}
.wccpp-magic-notice.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.wccpp-magic-notice-icon{
  flex:0 0 auto;
  width:36px;
  height:36px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#f59e0b,#fb923c);
  color:#fff;
  box-shadow:0 10px 24px rgba(245,158,11,.3);
}
.wccpp-magic-notice-icon svg{display:block;width:18px;height:18px}
.wccpp-magic-notice-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.wccpp-magic-notice-copy strong{font-size:14px;line-height:1.2;font-weight:800;color:#9a3412}
.wccpp-magic-notice-copy span{font-size:13px;line-height:1.5;font-weight:600;color:#7c2d12}
@media (max-width: 767px){
  .wccpp-magic-notice{left:12px;right:12px;bottom:12px;padding:12px 13px;border-radius:16px;gap:10px}
  .wccpp-magic-notice-icon{width:32px;height:32px}
  .wccpp-magic-notice-copy strong{font-size:13px}
  .wccpp-magic-notice-copy span{font-size:12px;line-height:1.45}
}


/* v69 mobile magic notice spacing fix */
@media (max-width: 767px){
  .wccpp-preview-modal-3d{
    padding-bottom: 126px !important;
    box-sizing: border-box !important;
  }
  .wccpp-preview-modal-3d canvas{
    height: calc(100% - 126px) !important;
  }
  .wccpp-preview-modal-3d .wccpp-magic-notice{
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    top: auto !important;
    margin: 0 !important;
  }
  .wccpp-preview-modal-3d .wccpp-magic-notice-copy strong{
    font-size: 12px !important;
  }
  .wccpp-preview-modal-3d .wccpp-magic-notice-copy span{
    font-size: 11px !important;
    line-height: 1.4 !important;
  }
}

/* v79 retained modal polish */
.wccpp-preview-close,button.wccpp-preview-close{top:12px!important;right:12px!important}
@media (max-width:767px){.wccpp-preview-close,button.wccpp-preview-close{top:10px!important;right:10px!important}.wccpp-preview-modal-3d{width:min(calc(100vw - 30px),390px)!important;height:min(calc(100vh - 150px),620px)!important;min-height:520px!important;max-height:min(calc(100vh - 150px),620px)!important;aspect-ratio:auto!important;overflow:hidden!important}.wccpp-preview-modal-3d canvas{transform:translateY(-68px)!important;transform-origin:center center!important}.wccpp-preview-modal-3d .wccpp-magic-notice{left:12px!important;right:12px!important;bottom:14px!important;top:auto!important;margin:0!important;padding:10px 12px!important;border-radius:14px!important;gap:10px!important}.wccpp-preview-modal-3d .wccpp-magic-notice-icon{width:30px!important;height:30px!important}.wccpp-preview-modal-3d .wccpp-magic-notice-copy strong{font-size:12px!important}.wccpp-preview-modal-3d .wccpp-magic-notice-copy span{font-size:11px!important;line-height:1.35!important}}
@media (min-width:768px){.wccpp-preview-modal-3d canvas{transform:translateY(-28px)!important;transform-origin:center center!important}}


/* v82 mobile preview restore + photo cropper */
.wccpp-recropy-btn{
  margin-top:10px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:40px!important;
  padding:10px 14px!important;
  border-radius:12px!important;
  border:1px solid #cbd5e1!important;
  background:#fff!important;
  color:#0f172a!important;
  font-size:13px!important;
  font-weight:700!important;
  cursor:pointer!important;
}
.wccpp-recropy-btn:hover{border-color:#f59e0b!important;color:#b45309!important}
.wccpp-crop-modal{
  position:fixed;
  inset:0;
  z-index:1000000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(15,23,42,.76);
}
.wccpp-crop-modal.is-open{display:flex}
.wccpp-crop-dialog{
  position:relative;
  width:min(94vw,720px);
  max-height:92vh;
  overflow:auto;
  background:#fff;
  border-radius:24px;
  padding:22px;
  box-shadow:0 24px 60px rgba(15,23,42,.32);
}
.wccpp-crop-close{
  position:absolute;
  top:12px;
  right:12px;
  width:42px;
  height:42px;
  border:0;
  border-radius:999px;
  background:#f59e0b;
  color:#fff;
  font-size:28px;
  font-weight:800;
  line-height:1;
  cursor:pointer;
}
.wccpp-crop-header{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;padding-right:52px}
.wccpp-crop-header strong{font-size:24px;line-height:1.15;color:#0f172a}
.wccpp-crop-header span{font-size:14px;line-height:1.5;color:#64748b}
.wccpp-crop-stage{display:flex;align-items:center;justify-content:center;padding:12px;border-radius:22px;background:#f8fafc;border:1px solid #e2e8f0}
.wccpp-crop-viewport{
  --wccpp-crop-ratio:1;
  position:relative;
  width:min(100%,540px);
  aspect-ratio:var(--wccpp-crop-ratio);
  overflow:hidden;
  border-radius:18px;
  background:
    linear-gradient(45deg,#e5e7eb 25%,transparent 25%) 0 0/18px 18px,
    linear-gradient(-45deg,#e5e7eb 25%,transparent 25%) 0 9px/18px 18px,
    linear-gradient(45deg,transparent 75%,#e5e7eb 75%) 9px -9px/18px 18px,
    linear-gradient(-45deg,transparent 75%,#e5e7eb 75%) -9px 0/18px 18px,
    #f8fafc;
  touch-action:none;
  cursor:grab;
}
.wccpp-crop-viewport.is-dragging{cursor:grabbing}
.wccpp-crop-image{position:absolute;max-width:none;user-select:none;-webkit-user-drag:none;touch-action:none}
.wccpp-crop-frame{position:absolute;inset:0;border:3px solid #fff;box-shadow:inset 0 0 0 9999px rgba(15,23,42,.22);pointer-events:none}
.wccpp-crop-controls{display:flex;align-items:center;gap:14px;margin-top:16px}
.wccpp-crop-controls label{font-size:14px;font-weight:700;color:#0f172a;white-space:nowrap}
.wccpp-crop-controls input[type=range]{width:100%}
.wccpp-crop-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:18px}
.wccpp-crop-actions button{min-height:46px;padding:12px 18px;border-radius:14px;font-size:14px;font-weight:800;cursor:pointer}
.wccpp-crop-cancel{border:1px solid #cbd5e1;background:#fff;color:#0f172a}
.wccpp-crop-confirm{border:0;background:#f59e0b;color:#fff;box-shadow:0 10px 20px rgba(245,158,11,.24)}

@media (max-width:767px){
  .wccpp-preview-modal{align-items:flex-start!important;padding:12px!important}
  .wccpp-preview-dialog{width:min(96vw,430px)!important;max-height:94vh!important;padding:12px!important;border-radius:22px!important}
  .wccpp-preview-dialog-body{padding:8px!important;max-height:calc(94vh - 68px)!important;overflow:auto!important}
  .wccpp-preview-modal-3d{width:100%!important;max-width:390px!important;min-height:360px!important;height:auto!important;max-height:none!important;aspect-ratio:1 / 1!important;margin:0 auto!important;border-radius:22px!important;overflow:hidden!important}
  .wccpp-preview-modal-3d canvas{width:100%!important;height:100%!important;transform:none!important;transform-origin:center center!important}
  .wccpp-preview-modal-3d .wccpp-3d-printscene{top:18px!important;width:min(calc(100% - 28px),220px)!important;max-width:220px!important}
  .wccpp-preview-modal-3d .wccpp-3d-printscene-lines{height:22px!important}
  .wccpp-preview-modal-3d .wccpp-3d-printscene-lines span{height:22px!important}
  .wccpp-preview-modal-3d .wccpp-3d-printscene-card{padding:10px!important;border-radius:18px!important}
  .wccpp-crop-dialog{width:min(96vw,420px);padding:16px;border-radius:20px}
  .wccpp-crop-header strong{font-size:20px}
  .wccpp-crop-header span{font-size:13px}
  .wccpp-crop-stage{padding:10px;border-radius:18px}
  .wccpp-crop-actions{flex-direction:column-reverse}
  .wccpp-crop-actions button{width:100%}
}


/* v83 mobile 3d preview restore + theme crop modal */
.wccpp-crop-dialog{
  border:1px solid #e2e8f0!important;
  background:#ffffff!important;
}
.wccpp-crop-close{
  top:-14px!important;
  right:-14px!important;
  width:46px!important;
  height:46px!important;
  border-radius:999px!important;
  border:3px solid #fff!important;
  background:#f6a400!important;
  color:#fff!important;
  font-size:30px!important;
  font-weight:800!important;
  line-height:1!important;
  box-shadow:0 10px 24px rgba(15,23,42,.20)!important;
}
.wccpp-crop-close:hover{
  background:#e09100!important;
  transform:scale(1.03)!important;
}
.wccpp-crop-header{
  padding-right:20px!important;
}
.wccpp-crop-header strong{
  color:#1f2937!important;
  font-weight:800!important;
}
.wccpp-crop-header span{
  color:#64748b!important;
}
.wccpp-crop-stage{
  background:#f8fafc!important;
  border:1px solid #dbe4ee!important;
}
.wccpp-crop-frame{
  border:3px solid rgba(255,255,255,.95)!important;
}
.wccpp-crop-controls label{
  color:#0f172a!important;
  font-weight:800!important;
}
.wccpp-crop-controls input[type=range]{
  accent-color:#f6a400!important;
}
.wccpp-crop-actions button{
  min-height:48px!important;
  padding:12px 18px!important;
  border-radius:14px!important;
  font-size:15px!important;
  font-weight:800!important;
}
.wccpp-crop-cancel{
  border:1px solid #d8dee7!important;
  background:#ffffff!important;
  color:#0f172a!important;
}
.wccpp-crop-cancel:hover{
  border-color:#c0c8d4!important;
  background:#f8fafc!important;
}
.wccpp-crop-confirm{
  border:0!important;
  background:#f6a400!important;
  color:#fff!important;
  box-shadow:0 12px 22px rgba(246,164,0,.28)!important;
}
.wccpp-crop-confirm:hover{
  background:#e09100!important;
}

@media (max-width: 767px){
  .wccpp-preview-modal{
    align-items:flex-start!important;
    padding:12px!important;
  }
  .wccpp-preview-dialog{
    width:min(96vw,430px)!important;
    max-height:94vh!important;
    padding:12px!important;
    border-radius:22px!important;
    overflow:visible!important;
  }
  .wccpp-preview-dialog-body{
    padding:8px!important;
    max-height:calc(94vh - 68px)!important;
    overflow:auto!important;
  }
  .wccpp-preview-modal-3d{
    width:min(calc(100vw - 30px),390px)!important;
    height:min(calc(100vh - 150px),620px)!important;
    min-height:520px!important;
    max-height:min(calc(100vh - 150px),620px)!important;
    aspect-ratio:auto!important;
    overflow:hidden!important;
    padding-bottom:126px!important;
    box-sizing:border-box!important;
    border-radius:22px!important;
    margin:0 auto!important;
  }
  .wccpp-preview-modal-3d canvas{
    width:100%!important;
    height:calc(100% - 126px)!important;
    transform:translateY(-18px) scale(1.10)!important;
    transform-origin:center top!important;
    image-rendering:auto!important;
  }
  .wccpp-preview-modal-3d .wccpp-3d-printscene{
    top:18px!important;
    width:min(calc(100% - 34px),230px)!important;
    max-width:230px!important;
  }
  .wccpp-preview-modal-3d .wccpp-3d-printscene-card{
    padding:10px!important;
    border-radius:18px!important;
  }
  .wccpp-preview-modal-3d .wccpp-magic-notice{
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    top:auto!important;
    margin:0!important;
    padding:12px 13px!important;
    border-radius:16px!important;
    gap:10px!important;
  }
  .wccpp-preview-modal-3d .wccpp-magic-notice-copy strong{
    font-size:12px!important;
  }
  .wccpp-preview-modal-3d .wccpp-magic-notice-copy span{
    font-size:11px!important;
    line-height:1.4!important;
  }

  .wccpp-crop-dialog{
    width:min(96vw,420px)!important;
    padding:18px 14px 14px!important;
    border-radius:22px!important;
  }
  .wccpp-crop-close{
    top:-10px!important;
    right:-10px!important;
    width:44px!important;
    height:44px!important;
    font-size:28px!important;
  }
  .wccpp-crop-header{
    padding-right:6px!important;
    margin-bottom:14px!important;
  }
  .wccpp-crop-header strong{
    font-size:18px!important;
    line-height:1.2!important;
    padding-right:40px!important;
  }
  .wccpp-crop-header span{
    font-size:13px!important;
    line-height:1.45!important;
  }
  .wccpp-crop-stage{
    padding:10px!important;
    border-radius:18px!important;
  }
  .wccpp-crop-actions{
    flex-direction:column-reverse!important;
  }
  .wccpp-crop-actions button{
    width:100%!important;
  }
}


/* v84 mobile preview sizing + crop theme polish */
.wccpp-crop-dialog{
  position:relative!important;
}
.wccpp-crop-close{
  left:auto!important;
  top:14px!important;
  right:16px!important;
  width:44px!important;
  height:44px!important;
  border-radius:999px!important;
  border:3px solid #fff!important;
  background:#f6a400!important;
  color:#fff!important;
  box-shadow:0 10px 26px rgba(15,23,42,.18)!important;
}
.wccpp-crop-header{
  padding-right:72px!important;
  padding-bottom:10px!important;
  border-bottom:1px solid #eef2f7!important;
}
.wccpp-crop-header strong{
  display:inline-block!important;
  font-weight:900!important;
  background:linear-gradient(90deg,#f6a400 0%, #14b8a6 100%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
}
.wccpp-crop-header span{
  color:#111827!important;
}

@media (max-width: 767px){
  .wccpp-preview-dialog{
    width:min(94vw,388px)!important;
    padding:10px!important;
    border-radius:22px!important;
  }
  .wccpp-preview-dialog-body{
    padding:8px!important;
  }
  .wccpp-preview-modal-3d{
    width:100%!important;
    max-width:352px!important;
    height:470px!important;
    min-height:470px!important;
    max-height:470px!important;
    margin:0 auto!important;
    padding-bottom:0!important;
    border-radius:22px!important;
    overflow:hidden!important;
  }
  .wccpp-preview-modal-3d canvas{
    width:100%!important;
    height:100%!important;
    transform:none!important;
    transform-origin:center center!important;
  }
  .wccpp-preview-modal-3d .wccpp-3d-printscene{
    top:18px!important;
    width:220px!important;
    max-width:220px!important;
  }
  .wccpp-preview-modal-3d .wccpp-3d-printscene-card{
    padding:9px!important;
    border-radius:18px!important;
  }
  .wccpp-preview-modal-3d .wccpp-magic-notice{
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    top:auto!important;
    margin:0!important;
    padding:11px 12px!important;
    border-radius:16px!important;
  }

  .wccpp-crop-dialog{
    width:min(94vw,420px)!important;
    padding:18px 14px 14px!important;
    border-radius:22px!important;
  }
  .wccpp-crop-close{
    top:14px!important;
    right:14px!important;
    width:42px!important;
    height:42px!important;
    font-size:28px!important;
  }
  .wccpp-crop-header{
    padding-right:58px!important;
    margin-bottom:14px!important;
  }
  .wccpp-crop-header strong{
    font-size:18px!important;
    line-height:1.2!important;
  }
  .wccpp-crop-header span{
    font-size:13px!important;
    line-height:1.45!important;
    color:#111827!important;
  }
}


/* v85 popup center + mobile preview polish + crop header/button spacing */
.wccpp-upload-preview{
  justify-content:flex-start!important;
  align-items:center!important;
  gap:18px!important;
  flex-wrap:wrap!important;
}
.wccpp-upload-preview img{
  flex:0 0 auto!important;
}
.wccpp-recropy-btn{
  margin-top:0!important;
  margin-left:0!important;
  flex:0 0 auto!important;
}

.wccpp-preview-close,
button.wccpp-preview-close{
  left:auto!important;
  right:14px!important;
  top:14px!important;
}

.wccpp-crop-dialog{
  position:relative!important;
}
.wccpp-crop-close{
  left:auto!important;
  right:16px!important;
  top:16px!important;
}
.wccpp-crop-header{
  padding-top:0!important;
  margin-top:0!important;
  padding-right:74px!important;
  padding-bottom:10px!important;
  margin-bottom:14px!important;
  border-bottom:1px solid #e7edf5!important;
}
.wccpp-crop-header strong{
  display:block!important;
  margin:0 0 6px!important;
  color:#f6a400!important;
  background:none!important;
  -webkit-background-clip:initial!important;
  background-clip:initial!important;
  font-size:28px!important;
  line-height:1.12!important;
  font-weight:900!important;
}
.wccpp-crop-header span{
  display:block!important;
  margin:0!important;
  color:#111827!important;
  font-size:15px!important;
  line-height:1.5!important;
}

@media (max-width: 767px){
  .wccpp-preview-modal{
    align-items:center!important;
    justify-content:center!important;
    padding:14px!important;
  }
  .wccpp-preview-dialog{
    width:min(94vw,392px)!important;
    max-height:96vh!important;
    padding:10px!important;
    border-radius:22px!important;
    margin:auto!important;
  }
  .wccpp-preview-dialog-body{
    padding:8px!important;
    max-height:none!important;
  }
  .wccpp-preview-modal-3d{
    width:100%!important;
    max-width:356px!important;
    height:510px!important;
    min-height:510px!important;
    max-height:510px!important;
    margin:0 auto!important;
    border-radius:22px!important;
    overflow:hidden!important;
  }
  .wccpp-preview-modal-3d canvas{
    width:100%!important;
    height:100%!important;
    transform:translateY(-32px)!important;
    transform-origin:center center!important;
  }
  .wccpp-preview-modal-3d .wccpp-3d-printscene{
    top:16px!important;
    width:210px!important;
    max-width:210px!important;
  }
  .wccpp-preview-modal-3d .wccpp-3d-printscene-card{
    padding:9px!important;
    border-radius:18px!important;
  }
  .wccpp-preview-modal-3d .wccpp-magic-notice{
    left:12px!important;
    right:12px!important;
    bottom:14px!important;
    top:auto!important;
    margin:0!important;
    padding:11px 12px!important;
    border-radius:16px!important;
  }
  .wccpp-preview-close,
  button.wccpp-preview-close{
    top:10px!important;
    right:10px!important;
    left:auto!important;
  }

  .wccpp-crop-dialog{
    width:min(94vw,420px)!important;
    max-height:92vh!important;
    padding:16px 14px 14px!important;
    border-radius:22px!important;
  }
  .wccpp-crop-close{
    top:12px!important;
    right:12px!important;
    left:auto!important;
    width:42px!important;
    height:42px!important;
    font-size:28px!important;
  }
  .wccpp-crop-header{
    padding-right:56px!important;
    margin-bottom:12px!important;
  }
  .wccpp-crop-header strong{
    font-size:20px!important;
    line-height:1.18!important;
  }
  .wccpp-crop-header span{
    font-size:13px!important;
    line-height:1.45!important;
  }
}


/* v86 final mobile mug position + crop close right fix */
.wccpp-crop-dialog > .wccpp-crop-close,
.wccpp-crop-close{
  position:absolute!important;
  top:16px!important;
  right:16px!important;
  left:auto!important;
  inset:16px 16px auto auto!important;
  margin:0!important;
  transform:none!important;
}

@media (max-width: 767px){
  .wccpp-preview-modal-3d canvas{
    transform:translateY(-84px)!important;
    transform-origin:center center!important;
  }
  .wccpp-preview-modal-3d .wccpp-magic-notice{
    bottom:12px!important;
  }
  .wccpp-crop-dialog > .wccpp-crop-close,
  .wccpp-crop-close{
    top:12px!important;
    right:12px!important;
    left:auto!important;
    inset:12px 12px auto auto!important;
  }
}


/* v89 mobile crop modal desktop parity */
.wccpp-crop-frame{
  border:3px solid #ffffff!important;
  box-shadow:inset 0 0 0 9999px rgba(15,23,42,.28),0 0 0 2px rgba(245,158,11,.22)!important;
}
@media (max-width: 767px){
  .wccpp-crop-modal{
    align-items:center!important;
    justify-content:center!important;
    padding:12px!important;
  }
  .wccpp-crop-dialog{
    width:min(94vw,420px)!important;
    max-height:94vh!important;
    padding:16px!important;
    border-radius:24px!important;
    box-shadow:0 24px 60px rgba(15,23,42,.28)!important;
    margin:auto!important;
  }
  .wccpp-crop-header{
    padding-right:62px!important;
    margin-bottom:14px!important;
  }
  .wccpp-crop-header strong{
    font-size:24px!important;
    line-height:1.12!important;
    font-weight:900!important;
    color:#f59e0b!important;
  }
  .wccpp-crop-header span{
    font-size:14px!important;
    line-height:1.5!important;
    color:#111827!important;
  }
  .wccpp-crop-stage{
    padding:12px!important;
    border-radius:22px!important;
  }
  .wccpp-crop-viewport{
    width:100%!important;
    max-width:none!important;
    border-radius:18px!important;
  }
  .wccpp-crop-frame{
    border:3px solid #ffffff!important;
    box-shadow:inset 0 0 0 9999px rgba(15,23,42,.30),0 0 0 2px rgba(245,158,11,.24)!important;
  }
  .wccpp-crop-controls{
    margin-top:14px!important;
    gap:12px!important;
  }
  .wccpp-crop-controls label{
    font-size:14px!important;
    font-weight:800!important;
  }
  .wccpp-crop-actions{
    flex-direction:row!important;
    justify-content:flex-end!important;
    gap:10px!important;
    margin-top:16px!important;
  }
  .wccpp-crop-actions button{
    width:auto!important;
    min-width:132px!important;
  }
}


/* v90 mobile print scene slightly larger */
@media (max-width: 767px){
  .wccpp-preview-modal-3d .wccpp-3d-printscene{
    top:14px!important;
    width:236px!important;
    max-width:236px!important;
  }
  .wccpp-preview-modal-3d .wccpp-3d-printscene-card{
    padding:10px!important;
    border-radius:19px!important;
  }
  .wccpp-preview-modal-3d .wccpp-3d-printscene-lines{
    height:24px!important;
  }
  .wccpp-preview-modal-3d .wccpp-3d-printscene-lines span{
    height:24px!important;
  }
}


/* v96 customer font/color controls only - v90 layout untouched */
.wccpp-text-style-row{
  display:grid!important;
  grid-template-columns:1fr 72px!important;
  gap:10px!important;
  align-items:end!important;
  margin-top:10px!important;
}
.wccpp-text-style-field{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  margin:0!important;
}
.wccpp-text-style-field span{
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:700!important;
  color:#334155!important;
}
.wccpp-text-font-select,
.wccpp-text-color-input{
  width:100%!important;
  height:44px!important;
  border:1px solid #cbd5e1!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#0f172a!important;
  box-sizing:border-box!important;
}
.wccpp-text-font-select{
  padding:8px 12px!important;
  font-size:14px!important;
  font-weight:600!important;
}
.wccpp-text-color-input{
  padding:5px!important;
  cursor:pointer!important;
}
.wccpp-text-font-select option[value="Orbitron"],
.wccpp-text-font-select option[value="Audiowide"],
.wccpp-text-font-select option[value="Monoton"],
.wccpp-text-font-select option[value="Bungee"],
.wccpp-text-font-select option[value="Bungee Inline"],
.wccpp-text-font-select option[value="Rajdhani"],
.wccpp-text-font-select option[value="Oxanium"]{
  font-weight:800;
}

.wccpp-text-color-input{
  -webkit-appearance:none!important;
  appearance:none!important;
  overflow:hidden!important;
}
.wccpp-text-color-input::-webkit-color-swatch-wrapper{
  padding:0!important;
}
.wccpp-text-color-input::-webkit-color-swatch{
  border:none!important;
  border-radius:10px!important;
}
.wccpp-text-color-input::-moz-color-swatch{
  border:none!important;
  border-radius:10px!important;
}
@media(max-width:767px){
  .wccpp-text-style-row{grid-template-columns:1fr 64px!important;gap:8px!important}
  .wccpp-text-font-select,.wccpp-text-color-input{height:42px!important;border-radius:12px!important}
}


/* v99 customer neon glow color control only */
.wccpp-text-style-row:has(.wccpp-text-glow-field) {
  grid-template-columns: 1fr 72px 96px !important;
}
.wccpp-text-glow-field .wccpp-text-color-input {
  width: 100% !important;
}
@media (max-width: 767px) {
  .wccpp-text-style-row:has(.wccpp-text-glow-field) {
    grid-template-columns: 1fr 64px 86px !important;
  }
  .wccpp-text-glow-field span {
    font-size: 12px !important;
  }
}


/* v109 text shadow control + tablet poster sizing */
.wccpp-text-style-row{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  align-items:flex-end!important;
  margin-top:10px!important;
}
.wccpp-text-font-field{
  flex:1 1 220px!important;
  min-width:180px!important;
}
.wccpp-text-color-field,
.wccpp-text-shadow-field,
.wccpp-text-glow-field{
  flex:0 0 96px!important;
  min-width:96px!important;
}
.wccpp-text-shadow-select,
.wccpp-text-font-select,
.wccpp-text-color-input{
  width:100%!important;
  height:44px!important;
  border:1px solid #cbd5e1!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#0f172a!important;
  box-sizing:border-box!important;
}
.wccpp-text-shadow-select{
  padding:8px 10px!important;
  font-size:14px!important;
  font-weight:600!important;
}
@media(max-width:767px){
  .wccpp-text-style-row{
    gap:8px!important;
  }
  .wccpp-text-font-field{
    flex:1 1 100%!important;
    min-width:100%!important;
  }
  .wccpp-text-color-field,
  .wccpp-text-shadow-field,
  .wccpp-text-glow-field{
    flex:1 1 calc(33.333% - 6px)!important;
    min-width:88px!important;
  }
  .wccpp-text-shadow-select,
  .wccpp-text-font-select,
  .wccpp-text-color-input{
    height:42px!important;
    border-radius:12px!important;
  }
}

@media (min-width:1024px) and (max-width:1366px){
  .wccpp-live-main.is-3d .wccpp-3d-printscene,
  .wccpp-preview-modal-3d .wccpp-3d-printscene{
    width:min(52%,300px)!important;
    max-width:300px!important;
    top:12px!important;
  }
  .wccpp-live-main.is-3d .wccpp-3d-printscene-lines,
  .wccpp-preview-modal-3d .wccpp-3d-printscene-lines{
    height:28px!important;
  }
  .wccpp-live-main.is-3d .wccpp-3d-printscene-lines span,
  .wccpp-preview-modal-3d .wccpp-3d-printscene-lines span{
    height:28px!important;
  }
  .wccpp-live-main.is-3d .wccpp-3d-printscene-card,
  .wccpp-preview-modal-3d .wccpp-3d-printscene-card{
    padding:11px!important;
    border-radius:20px!important;
  }
}


/* v111 admin shadow field + 1024-1366 equal upward shift */
@media (min-width:1024px) and (max-width:1366px){
  .wccpp-live-main.is-3d .wccpp-live-3d canvas,
  .wccpp-preview-modal-3d canvas{
    transform:translateY(-14px)!important;
    transform-origin:center center!important;
  }
  .wccpp-live-main.is-3d .wccpp-3d-printscene,
  .wccpp-preview-modal-3d .wccpp-3d-printscene{
    transform:translateY(-14px)!important;
  }
}


/* v114 keep mobile as previous, hide customer shadow control, stronger tablet centering/up-shift */
.wccpp-wrap .wccpp-text-shadow-field{
  display:none!important;
}

@media (min-width:1024px) and (max-width:1366px){
  .wccpp-live-main.is-3d .wccpp-live-3d canvas,
  .wccpp-preview-modal-3d canvas{
    transform:translateY(-36px)!important;
    transform-origin:center center!important;
  }
  .wccpp-live-main.is-3d .wccpp-3d-printscene,
  .wccpp-preview-modal-3d .wccpp-3d-printscene{
    left:50%!important;
    top:12px!important;
    transform:translate(-50%, -36px)!important;
  }
}
