.kuhapaja-editor-wrap{margin:0}.kuhapaja-editor-wrap+form.cart{display:none}.kuhapaja-editor{--ink:#0c0d0d;--acid:#d7ff3f;--violet:#7657ff;--soft:#f1f2ed;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff}.kp-grid{display:flex;flex-direction:column}.kp-stage-column{min-width:0;background:var(--soft)}.kp-stage-label{display:flex;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid #d6d8d0;font-size:8px;font-weight:950;letter-spacing:.11em}.kp-stage-label span{color:var(--violet)}.kp-stage{display:grid;min-height:510px;place-items:center;overflow:hidden;background-color:#f1f2ed;background-image:radial-gradient(#c8cac3 1px,transparent 1px);background-size:19px 19px}.kp-phone{position:relative;width:min(272px,70vw);filter:drop-shadow(0 23px 18px #31332d35)}.kp-phone>img{display:block;width:100%}.kp-print{position:absolute;inset:5.5% 14% 3.5%;overflow:hidden;clip-path:inset(0 round 14% 14% 15% 15%);touch-action:none}.kp-safe{position:absolute;z-index:5;inset:3.45%;border:1px dashed #75a426;border-radius:14%;pointer-events:none}.kp-safe span{position:absolute;right:5px;bottom:4px;padding:1px 3px;background:#eaffc9e6;font-size:5px}.kp-camera{position:absolute;z-index:6;inset:0;pointer-events:none}.kp-camera i{position:absolute;width:16%;aspect-ratio:1;border:1px dashed #75a426;border-radius:50%;box-shadow:0 0 0 2px #d7ff3f40}.kp-camera i:nth-child(1){left:12.5%;top:4.2%}.kp-camera i:nth-child(2){left:33%;top:9.8%}.kp-camera i:nth-child(3){left:13%;top:16.8%}.kp-camera b{position:absolute;left:20%;top:27%;padding:3px;background:var(--ink);color:#fff;font-size:5px}.kp-layer{position:absolute;cursor:grab;touch-action:none;user-select:none;transform-origin:center}.kp-layer.selected{outline:1px dashed #75a426;outline-offset:4px}.kp-text{z-index:2;display:flex;width:92%;justify-content:center;text-align:center}.kp-text strong{max-width:100%;font-size:26px;font-weight:950;line-height:.9;overflow-wrap:anywhere}.kp-image{z-index:1;width:78%;height:72%}.kp-image img{width:100%;height:100%;object-fit:contain}.kp-controls{background:#fff}.kp-section{position:relative;padding:24px 20px;border-bottom:1px solid #dedfd9}.kp-number{position:absolute;top:27px;right:20px;color:var(--violet);font-size:9px;font-weight:950;letter-spacing:.1em}.kp-section h2{margin:0 0 21px;font-size:24px;letter-spacing:-.04em}.kp-section label{display:grid;grid-template-columns:1fr auto;gap:7px;margin:0 0 15px;color:#5f625b;font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.kp-section label select,.kp-section label textarea{grid-column:1/-1;width:100%;min-width:0;padding:11px;border:1px solid #d6d8d0;border-radius:8px;background:#fafbf7;color:var(--ink);font-size:13px;font-weight:700;text-transform:none}.kp-section label textarea{height:57px;resize:none}.kp-upload{display:flex!important;min-height:74px;align-items:center;justify-content:center;padding:14px;border:1px dashed #9ea199;border-radius:9px;background:#f9faf6;text-align:center;cursor:pointer}.kp-upload strong{color:var(--ink);font-size:13px}.kp-upload small{font-size:8px}.kp-upload input{position:absolute;width:1px;height:1px;opacity:0}.kp-inline{display:grid;grid-template-columns:1fr auto auto;gap:7px;align-items:end}.kp-inline label{margin:0}.kp-inline input[type=color]{width:44px;height:38px;padding:2px;border:1px solid #d6d8d0;border-radius:7px;background:#fff}.kp-layer-button{height:38px;padding:0 12px;border:1px solid #d6d8d0;border-radius:7px;background:#fff;font-size:9px;font-weight:900}.kp-layer-button.active{border-color:var(--ink);background:var(--ink);color:#fff}.kp-section input[type=range]{grid-column:1/-1;width:100%;accent-color:var(--violet)}.kp-buy{display:grid;grid-template-columns:1fr auto;gap:16px;padding:21px 20px;background:var(--ink);color:#fff}.kp-buy>div:first-child{display:grid}.kp-buy>div:first-child span{color:#aeb0aa;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.kp-buy>div:first-child strong{font-size:28px;line-height:1.1}.kp-buy>div:first-child small{color:#aeb0aa;font-size:9px}.kp-qty{display:flex;align-items:center;gap:12px}.kp-qty button{width:34px;height:34px;border:1px solid #ffffff33;border-radius:50%;background:transparent;color:#fff}.kp-add{grid-column:1/-1;display:flex;min-height:54px;align-items:center;justify-content:space-between;padding:0 16px;border:0;border-radius:8px;background:var(--acid);color:var(--ink);font-size:11px;font-weight:950;letter-spacing:.08em;cursor:pointer}.kp-add span{font-size:21px}.kp-add:disabled{opacity:.55}.kp-buy>small{grid-column:1/-1;color:#999b95;font-size:8px;text-align:center}.kuhapaja-status{min-height:20px;margin:13px 0 0;color:#8b3030;font-size:12px;font-weight:800}
.kp-modal-open{overflow:hidden}.kp-review[hidden]{display:none}.kp-review{position:fixed;z-index:99999;inset:0;display:grid;overflow:auto;place-items:center;padding:12px;background:#090a0ae9;backdrop-filter:blur(15px)}.kp-review-panel{position:relative;display:grid;width:min(1040px,100%);min-height:min(720px,calc(100svh - 24px));grid-template-rows:auto 1fr auto auto;overflow:hidden;border-radius:20px;background:#f2f3ee}.kp-review-close{position:absolute;z-index:3;top:12px;right:12px;width:42px;height:42px;border:1px solid #c6c8c0;border-radius:50%;background:#fff;font-size:24px;cursor:pointer}.kp-review-copy{padding:30px 65px 12px 20px}.kp-review-copy>span{color:var(--violet);font-size:8px;font-weight:950;letter-spacing:.13em}.kp-review-copy h2{margin:10px 0 7px;font-size:clamp(31px,7vw,62px);line-height:.9;letter-spacing:-.06em}.kp-review-copy p{max-width:470px;margin:0;color:#666963;font-size:12px;line-height:1.5}.kp-turntable{display:grid;min-height:380px;place-items:center;perspective:1000px;background-image:radial-gradient(#c6c9c0 1px,transparent 1px);background-size:20px 20px;overflow:hidden}.kp-turntable>span{align-self:end;margin-bottom:13px;font-size:8px;font-weight:950;letter-spacing:.12em}.kp-render{position:relative;width:min(235px,55vw);transform-style:preserve-3d;filter:drop-shadow(35px 25px 20px #1114);cursor:ew-resize;touch-action:none;transition:transform .08s linear}.kp-render>img{display:block;width:100%}.kp-render:after{content:'';position:absolute;z-index:-1;top:2%;right:-8px;width:14px;height:96%;border-radius:0 20px 20px 0;background:#aaa;transform:translateZ(-5px)}.kp-render-print{position:absolute;inset:5.5% 14% 3.5%;overflow:hidden;clip-path:inset(0 round 14% 14% 15% 15%)}.kp-render-image{position:absolute;width:78%;height:72%}.kp-render-image img{width:100%;height:100%;object-fit:contain}.kp-render-print strong{position:absolute;z-index:2;display:block;width:92%;font-size:22px;font-weight:950;line-height:.9;text-align:center;overflow-wrap:anywhere}.kp-review-summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:16px 20px;border-top:1px solid #d1d3cc;font-size:10px;font-weight:900}.kp-review-summary strong{font-size:17px}.kp-review-actions{display:grid;gap:8px;padding:0 20px 20px}.kp-back,.kp-checkout{display:flex;min-height:52px;align-items:center;justify-content:center;border:1px solid var(--ink);border-radius:8px;background:transparent;color:var(--ink);font-size:10px;font-weight:950;letter-spacing:.06em}.kp-checkout{justify-content:space-between;padding:0 16px;border-color:var(--acid);background:var(--acid)}.kp-checkout span{font-size:20px}
@media(min-width:900px){.kp-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.72fr)}.kp-stage{height:735px;min-height:0}.kp-phone{width:min(330px,58%)}.kp-controls{display:flex;flex-direction:column}.kp-section{padding:29px 27px}.kp-number{top:32px;right:27px}.kp-buy{margin-top:auto;padding:24px 27px}.kp-review-panel{grid-template-columns:1fr 1.25fr;grid-template-rows:auto 1fr auto}.kp-review-copy{grid-column:1;grid-row:1;padding:44px 36px 20px}.kp-turntable{grid-column:2;grid-row:1/4;min-height:690px}.kp-review-summary{grid-column:1;grid-row:2;align-content:end;padding:20px 36px}.kp-review-actions{grid-column:1;grid-row:3;padding:0 36px 36px}.kp-render{width:min(310px,32vw)}}
@media(max-width:430px){.kp-stage{min-height:475px}.kp-phone{width:min(245px,68vw)}.kp-section{padding-inline:16px}.kp-buy{padding-inline:16px}.kp-review{padding:0}.kp-review-panel{min-height:100svh;border-radius:0}.kp-turntable{min-height:350px}}
@media(prefers-reduced-motion:reduce){.kp-render{transition:none}}

/* Selection is the first viewport: intro copy has been removed from the theme. */
.kp-controls{display:contents}
.kp-section:first-child{order:-3;background:var(--acid)}
.kp-stage-column{order:-2}
.kp-section:nth-child(2){order:-1}
.kp-buy{order:0}
@media(min-width:900px){
  .kp-grid{grid-template-columns:minmax(0,1.55fr) minmax(330px,.72fr);grid-template-rows:auto auto 1fr}
  .kp-controls{display:contents}
  .kp-section:first-child{grid-column:1/-1;grid-row:1;display:grid;grid-template-columns:auto minmax(210px,1fr) minmax(240px,.8fr) minmax(190px,.6fr);align-items:end;gap:24px;padding:24px 30px}
  .kp-section:first-child .kp-number{position:static;align-self:center;font-size:11px}
  .kp-section:first-child h2{align-self:center;margin:0;font-size:clamp(27px,3vw,42px)}
  .kp-section:first-child label{margin:0}
  .kp-stage-column{grid-column:1;grid-row:2/4}
  .kp-section:nth-child(2){grid-column:2;grid-row:2}
  .kp-buy{grid-column:2;grid-row:3;margin-top:0}
}

/* Mobile editing workspace: the live case stays visible while its controls scroll. */
@media(max-width:899px){
  .kp-stage-column{
    position:sticky;
    z-index:8;
    top:66px;
    box-shadow:0 12px 24px #0c0d0d1f;
  }
  .kp-stage-label{
    min-height:38px;
    align-items:center;
    padding-block:10px;
    background:#fff;
  }
  .kp-stage{
    height:clamp(395px,56svh,540px);
    min-height:0;
  }
  .kp-phone{width:min(315px,86vw)}
  .kp-section:nth-child(2){
    position:sticky;
    z-index:9;
    top:62svh;
    max-height:38svh;
    overflow-y:auto;
    overscroll-behavior:contain;
    background:#fff;
    box-shadow:0 -12px 24px #0c0d0d1a;
  }
}

@media(max-width:430px){
  .kp-stage{height:clamp(380px,54svh,470px);min-height:0}
  .kp-phone{width:min(305px,88vw)}
}

.kp-transform-control{display:none!important}
.kp-gesture-hint{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0 0}
.kp-gesture-hint strong{padding:8px 10px;border:1px solid #d6d8d0;border-radius:999px;background:#f1f2ed;font-size:9px;letter-spacing:.03em}
