.ks-app{max-width:1080px;margin:0 auto}
.ks-progress{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;margin:0 0 24px;counter-reset:s}
.ks-progress li{text-align:center;font-weight:800;color:#7e89a2;border-bottom:5px solid #dce4f3;padding:10px}
.ks-progress li.active{color:#1649d8;border-color:#1649d8}
.ks-panel{background:#fff;border-radius:24px;padding:clamp(20px,4vw,42px);box-shadow:0 16px 44px rgba(20,33,61,.1)}
.ks-panel h3{font-size:1.65rem;margin-top:0}
.ks-drop{display:grid;place-items:center;gap:8px;min-height:260px;border:3px dashed #9cb2e4;border-radius:20px;background:#f7faff;text-align:center;padding:24px;cursor:pointer}
.ks-drop:hover{border-color:#1649d8}
.ks-drop-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#1649d8;color:#fff;font-size:2rem}
.ks-drop img{max-height:260px;border-radius:12px}
.ks-consent{display:flex;gap:10px;align-items:flex-start;margin:20px 0}
.ks-next,.ks-generate,.ks-choose,.ks-cart{border:0;border-radius:999px;background:#ff4f48;color:#fff;padding:14px 24px;font-weight:800;cursor:pointer}
.ks-next:disabled,.ks-generate:disabled,.ks-cart:disabled{opacity:.45;cursor:not-allowed}
.secondary{border:2px solid #1649d8;background:#fff;color:#1649d8;border-radius:999px;padding:12px 22px;font-weight:800}
.ks-styles{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:24px}
.ks-styles label{display:flex;gap:12px;border:2px solid #dfe7f7;padding:20px;border-radius:16px;cursor:pointer}
.ks-styles label:has(input:checked){border-color:#1649d8;background:#f0f5ff}
.ks-styles small{display:block;color:#68748d}
.ks-loading{text-align:center;padding:50px}
.ks-loading>span{display:block;width:54px;height:54px;margin:auto;border:6px solid #dfe8ff;border-top-color:#1649d8;border-radius:50%;animation:spin 1s linear infinite}
.ks-generation-progress{max-width:440px;height:16px;margin:22px auto 8px;background:#e5ecfa;border-radius:999px;overflow:hidden;box-shadow:inset 0 1px 3px rgba(20,33,61,.12)}
.ks-generation-progress i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1649d8,#4f80ff);transition:width .8s ease}
.ks-progress-value{display:block;font-size:1.25rem;color:#1649d8}
.ks-progress-message{min-height:1.5em;margin:8px 0 2px;font-weight:700}
.ks-loading small{color:#68748d}
@keyframes spin{to{transform:rotate(360deg)}
}
.ks-result{text-align:center}
.ks-result>img{display:block;max-height:580px;margin:20px auto;border-radius:20px;box-shadow:0 15px 35px rgba(20,33,61,.15)}
.ks-products{display:grid;grid-template-columns:repeat(3,1fr);align-items:start;gap:18px}
.ks-product{border:2px solid #e1e8f6;border-radius:18px;padding:14px;background:#fff;cursor:pointer;transition:.2s}
.ks-product:hover,.ks-product.selected{border-color:#1649d8;box-shadow:0 10px 25px rgba(22,73,216,.12)}
.ks-product.featured{grid-column:span 2}
.ks-mockup{height:190px;display:grid;place-items:center;border-radius:13px;background:#edf4ff;overflow:hidden}
.featured .ks-mockup{height:310px}
.ks-mockup img{width:48%;height:65%;object-fit:contain;filter:drop-shadow(0 8px 8px rgba(0,0,0,.18))}
.ks-mockup.shirt:before{content:none}
.ks-mockup.shirt{position:relative}
.ks-mockup.shirt img{z-index:1;width:38%;height:55%}
.ks-mockup{position:relative}
.ks-mockup .ks-product-base{position:absolute;inset:4%;z-index:1;width:92%;height:92%;object-fit:contain;filter:none}
.ks-mockup .ks-artwork{position:absolute;z-index:2;object-fit:contain;filter:none;box-shadow:none;mix-blend-mode:multiply}
.ks-mockup.shirt .ks-product-base{inset:4%;width:92%;height:92%;transform:none}
.ks-mockup.shirt .ks-artwork{left:43%;top:34%;width:14%;height:35%;object-fit:contain}
.ks-mockup.mug .ks-artwork{left:31%;top:31%;width:23%;height:40%;object-fit:contain;border-radius:8%}
.ks-mockup.card .ks-artwork{left:36%;top:24%;width:24%;height:49%;object-fit:contain;transform:perspective(500px) rotateY(-7deg)}
.ks-mockup.mousepad .ks-product-base{display:none}
.ks-mockup.mousepad:before{content:"";position:absolute;z-index:1;left:10%;right:10%;top:19%;bottom:19%;border:3px solid #222;border-radius:13px;background:linear-gradient(145deg,#fff 0%,#f5f5f5 72%,#e6e6e6 100%);box-shadow:0 6px 7px rgba(0,0,0,.18)}
.ks-mockup.mousepad .ks-artwork{left:32%;top:24%;width:36%;height:52%;object-fit:contain;transform:none;border-radius:0;mix-blend-mode:normal}
.ks-mockup.poster .ks-artwork{left:39%;top:23%;width:23%;height:50%;object-fit:contain;transform:rotate(1deg)}
.ks-price{font-size:1.35rem;font-weight:900;color:#1649d8;margin:8px 0}
.ks-variants{display:flex;gap:7px}
.ks-variants select,.ks-qty input{padding:8px;border:1px solid #ccd7eb;border-radius:9px}
.ks-qty{display:block;margin-top:8px}
.ks-qty input{width:65px}
.ks-cart{display:flex;margin:28px auto 0;font-size:1.05rem}
.ks-error{margin-top:20px;padding:14px;background:#fff0ef;border-left:4px solid #ff4f48;border-radius:8px;color:#8a1712;font-weight:700}
.wc-block-components-address-form__address_2,.wc-block-components-address-form__address_2-toggle{display:none!important}
@media(max-width:760px){.ks-progress li{font-size:.8rem;padding:8px 2px}
.ks-styles,.ks-products{grid-template-columns:1fr}
.ks-product.featured{grid-column:auto}
.featured .ks-mockup{height:230px}
}
