.wsdtf{--ws-yellow:#ffd400;--ws-yellow-dark:#ffc400;--ws-black:#050505;--ws-ink:#131313;--ws-muted:#676a73;--ws-soft:#f6f7f8;--ws-line:rgba(0,0,0,.11);--ws-radius:22px;max-width:1180px;margin:0 auto 72px;font-family:inherit;color:var(--ws-ink);position:relative}.wsdtf *{box-sizing:border-box}.wsdtf:before{content:"";position:absolute;inset:-20px -18px auto;min-height:280px;background:radial-gradient(circle at 86% 0%,rgba(255,212,0,.17),transparent 30%),linear-gradient(180deg,rgba(0,0,0,.035),transparent);border-radius:34px;z-index:-1}.wsdtf-hero{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;background:radial-gradient(circle at 92% 6%,rgba(255,212,0,.20),transparent 25%),linear-gradient(135deg,#060606 0%,#181818 80%,#080808 100%);color:#fff;border-radius:28px;padding:34px 34px 30px;margin:10px 0 24px;overflow:hidden;position:relative;box-shadow:0 22px 55px rgba(0,0,0,.16)}.wsdtf-hero:after{content:"";position:absolute;left:34px;right:34px;bottom:0;height:5px;background:linear-gradient(90deg,var(--ws-yellow),transparent 85%)}.wsdtf-pill{display:inline-flex;align-items:center;gap:8px;background:var(--ws-yellow);color:#000;font-weight:950;letter-spacing:.055em;text-transform:uppercase;border-radius:999px;padding:9px 15px;font-size:12px}.wsdtf h1{margin:18px 0 10px;font-size:clamp(36px,5.1vw,66px);line-height:.9;font-weight:1000;text-transform:uppercase;letter-spacing:-.06em;color:#fff}.wsdtf-hero p{margin:0;font-size:17px;opacity:.9;max-width:760px}.wsdtf-rollbadge{min-width:190px;border:1.5px solid var(--ws-yellow);border-radius:20px;padding:21px 20px;text-align:center;text-transform:uppercase;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}.wsdtf-rollbadge strong{display:block;font-size:28px;font-weight:1000;letter-spacing:-.04em}.wsdtf-rollbadge span{display:block;color:var(--ws-yellow);font-weight:900;margin-top:8px;font-size:13px}.wsdtf-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}.wsdtf-left{display:grid;gap:20px}.wsdtf-panel,.wsdtf-summary{background:rgba(255,255,255,.98);border:1px solid var(--ws-line);border-radius:var(--ws-radius);box-shadow:0 18px 48px rgba(0,0,0,.075);backdrop-filter:blur(12px)}.wsdtf-panel{padding:22px}.wsdtf-panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.wsdtf h2{margin:0;font-size:25px;font-weight:1000;text-transform:uppercase;letter-spacing:-.055em;line-height:1}.wsdtf-small{font-size:12px;color:var(--ws-muted);font-weight:750}.wsdtf-add,.wsdtf-cart{border:0;background:linear-gradient(135deg,var(--ws-yellow),var(--ws-yellow-dark));color:#000;font-weight:1000;text-transform:uppercase;border-radius:999px;padding:13px 20px;cursor:pointer;box-shadow:0 14px 28px rgba(255,212,0,.22);transition:transform .15s ease,filter .15s ease}.wsdtf-add:hover,.wsdtf-cart:hover{filter:brightness(.985);transform:translateY(-1px)}.wsdtf-motifs{display:grid;gap:14px}.wsdtf-motif{background:linear-gradient(180deg,#fff,#fcfcfd);border:1px solid rgba(0,0,0,.095);border-radius:20px;padding:17px;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.wsdtf-motif-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.wsdtf-motif-top strong{text-transform:uppercase;font-size:17px;letter-spacing:-.02em}.wsdtf-remove{width:32px;height:32px;border-radius:50%;border:1px solid #ddd;background:#fff;font-size:22px;line-height:1;cursor:pointer;color:#111}.wsdtf-fields{display:grid;grid-template-columns:minmax(156px,1.3fr) 1fr 1fr .8fr 1fr;gap:11px;align-items:end}.wsdtf label{display:grid;gap:7px;font-size:11px;font-weight:900;text-transform:uppercase;color:#0a0a0a;letter-spacing:.015em}.wsdtf input,.wsdtf select{width:100%;border:1.5px solid rgba(0,0,0,.16);border-radius:13px;padding:12px 12px;background:#fff;font:inherit;font-weight:650;min-height:47px;outline:none;transition:border-color .16s ease,box-shadow .16s ease}.wsdtf input:focus,.wsdtf select:focus{border-color:#111;box-shadow:0 0 0 4px rgba(255,212,0,.26)}.wsdtf input[type=file]{padding:10px;background:#fff;font-size:12px}.wsdtf-hide{display:none!important}.wsdtf-motif-foot{display:grid;grid-template-columns:92px 1fr;gap:12px;margin-top:12px;align-items:start}.wsdtf-thumb{width:92px;height:92px;border-radius:16px;border:1px solid rgba(0,0,0,.1);background:linear-gradient(135deg,#f4f4f4,#fff);display:grid;place-items:center;overflow:hidden;position:relative}.wsdtf-thumb img{max-width:100%;max-height:100%;object-fit:contain;display:block}.wsdtf-thumb span{position:absolute;left:6px;right:6px;bottom:6px;background:rgba(0,0,0,.72);color:#fff;border-radius:999px;text-align:center;font-size:10px;font-weight:900;padding:4px;line-height:1.1}.wsdtf-size-result{display:inline-flex;align-items:center;gap:8px;background:#111;color:#fff;border-radius:999px;padding:8px 12px;font-size:13px}.wsdtf-size-result span{color:var(--ws-yellow);font-weight:900}.wsdtf-size-result b{font-weight:850}.wsdtf-filemeta{font-size:12px;color:#667;margin-top:8px}.wsdtf-warn{font-size:13px;color:#b00020;margin-top:8px;font-weight:800}.wsdtf-note{font-size:14px;margin:17px 0 0;color:#222}.wsdtf-preview-panel{padding-bottom:16px}.wsdtf-preview-toolbar{display:flex;gap:12px;flex-wrap:wrap;background:#0b0b0b;color:#fff;border-radius:16px;padding:12px 14px;margin-bottom:12px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}.wsdtf-preview-toolbar b{color:var(--ws-yellow)}.wsdtf-preview-wrap{position:relative;height:min(70vh,720px);contain:layout paint;min-height:460px;border-radius:18px;background:linear-gradient(90deg,#eee 1px,transparent 1px),linear-gradient(#eee 1px,transparent 1px),#fff;background-size:34px 34px;border:1px solid rgba(0,0,0,.12);overflow:auto;box-shadow:inset 0 0 0 8px #fff}.wsdtf-svg{width:100%;min-height:460px;display:block}.wsdtf-empty-preview{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:#667;font-weight:900}.wsdtf-summary{position:sticky;top:24px;background:linear-gradient(180deg,#080808,#111);color:#fff;padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.2)}.wsdtf-summary h2{color:#fff;margin-bottom:18px}.wsdtf-summary label{color:#fff;margin-bottom:16px}.wsdtf-summary select{border-color:rgba(255,255,255,.38);background:#fff;color:#111}.wsdtf-pricebox{background:#fff;color:#111;border-radius:18px;overflow:hidden;margin:14px 0;box-shadow:0 18px 38px rgba(0,0,0,.16)}.wsdtf-pricebox>div{display:flex;align-items:center;justify-content:space-between;padding:15px 15px;border-bottom:1px solid #eee;gap:12px}.wsdtf-pricebox span{font-size:13px;font-weight:850;color:#333}.wsdtf-pricebox b{font-size:17px}.wsdtf-pricebox .wsdtf-total{background:linear-gradient(135deg,var(--ws-yellow),var(--ws-yellow-dark));border-bottom:0}.wsdtf-pricebox .wsdtf-total b{font-size:29px;letter-spacing:-.04em}.wsdtf-status{border:1px dashed var(--ws-yellow);border-radius:14px;padding:14px;margin:14px 0;font-weight:850;color:#fff;background:rgba(255,212,0,.06)}.wsdtf-cart{width:100%;padding:18px 18px;font-size:15px}.wsdtf-cart:disabled{opacity:.65;cursor:wait}.wsdtf-fineprint{font-size:12px;line-height:1.35;color:rgba(255,255,255,.86);margin-bottom:0}.wsdtf-brandbar{display:flex;gap:12px;align-items:center;margin-top:14px;color:#111;background:#fff;border-radius:16px;padding:13px}.wsdtf-brandmark{width:38px;height:38px;border-radius:12px;background:#ffd400;display:grid;place-items:center;font-weight:1000}@media(max-width:1020px){.wsdtf-grid{grid-template-columns:1fr}.wsdtf-summary{position:static}.wsdtf-fields{grid-template-columns:1fr 1fr}.wsdtf-hero{grid-template-columns:1fr}.wsdtf-rollbadge{max-width:240px}}@media(max-width:700px){.wsdtf-fields{grid-template-columns:1fr}.wsdtf-motif-foot{grid-template-columns:1fr}.wsdtf-thumb{width:100%;height:140px}.wsdtf-panel-head{display:block}.wsdtf-add{margin-top:12px}.wsdtf h1{font-size:38px}.wsdtf-hero{padding:28px 22px}.wsdtf-preview-wrap{height:520px}.wsdtf-panel{padding:17px}}

/* v0.6 preview reliability + theme compatibility */
.wsdtf-svg image{image-rendering:auto;overflow:visible}.wsdtf-hero h1{color:#fff!important}.wsdtf-thumb img{background:#fff}.wsdtf-preview-wrap svg{background:#fff}

.wsdtf-preview-wrap{will-change:contents}.wsdtf-status{min-height:74px}.wsdtf-qty{max-width:100%}

.wsdtf-render-progress{display:none;background:#fff;border:1px solid rgba(0,0,0,.10);border-radius:16px;padding:12px 14px;margin:-2px 0 12px;box-shadow:0 10px 24px rgba(0,0,0,.05)}
.wsdtf-render-progress.wsdtf-progress-visible{display:block}
.wsdtf-render-progress-top{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:12px;margin-bottom:9px}
.wsdtf-render-progress-top strong{font-weight:950;color:#080808}
.wsdtf-render-progress-top span{font-weight:850;color:#666;white-space:nowrap}
.wsdtf-render-progress-track{height:10px;background:#ececec;border-radius:999px;overflow:hidden;box-shadow:inset 0 1px 2px rgba(0,0,0,.12)}
.wsdtf-render-progress-track span{display:block;height:100%;background:linear-gradient(90deg,#ffd400,#ffbe00);border-radius:999px;transition:width .18s ease}

/* v0.9 full-scroll preview fix */
.wsdtf-preview-wrap{overflow:auto;max-height:min(70vh,720px)}
.wsdtf-svg{height:auto}

/* v1.0 WooCommerce cart polish */
.woocommerce-cart .cart_totals,.woocommerce-checkout-review-order,.woocommerce table.shop_table{border-radius:20px!important;overflow:hidden;border:1px solid rgba(0,0,0,.10)!important;box-shadow:0 18px 48px rgba(0,0,0,.06)}
.woocommerce-cart table.cart td.product-name a{font-weight:900;color:#111;text-decoration:none}
.woocommerce-cart table.cart td.product-name .variation,.woocommerce-checkout-review-order .variation{font-size:13px;line-height:1.45;color:#2b2b2b}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,.woocommerce #payment #place_order{background:#ffd400!important;color:#050505!important;border-radius:999px!important;font-weight:950!important;text-transform:uppercase;box-shadow:0 14px 30px rgba(255,212,0,.22)}
.woocommerce-cart .cart_totals h2{font-weight:1000;letter-spacing:-.04em}
.woocommerce-cart .product-thumbnail img{border-radius:12px;background:#f7f7f7}

/* v1.1: complete lightweight preview after detail limit */
.wsdtf-preview-wrap .wsdtf-svg rect[stroke-dasharray]{vector-effect:non-scaling-stroke}
