/* Custom-upload UI */
.nwidea-custom{background:var(--nw-bg-2)!important;padding:22px!important;margin:24px 0!important;border-left:3px solid var(--nw-accent)!important}
.nwidea-custom__head{display:flex!important;align-items:center!important;gap:10px!important;margin-bottom:14px!important}
.nwidea-custom__head svg{width:18px!important;height:18px!important;stroke:var(--nw-accent)!important;stroke-width:1.6!important;fill:none!important}
.nwidea-custom__head h3{font-size:13px!important;font-weight:700!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--nw-ink)!important;margin:0!important}
.nwidea-custom__hint{font-size:12.5px!important;color:var(--nw-muted)!important;line-height:1.5!important;margin-bottom:16px!important}
.nwidea-custom__field{margin-bottom:14px!important}
.nwidea-custom__field label{display:block!important;font-size:11.5px!important;letter-spacing:.12em!important;text-transform:uppercase!important;font-weight:600!important;margin-bottom:8px!important;color:var(--nw-ink)!important}

/* ===== LIVE CUSHION MOCKUP ===== */
.nwidea-mockup{position:relative!important;aspect-ratio:1/1!important;background:linear-gradient(180deg,#FAF8F3 0%,#F0EBE1 100%)!important;padding:12%!important;display:flex!important;align-items:center!important;justify-content:center!important;margin-bottom:18px!important;overflow:hidden!important}
.nwidea-mockup__shadow{position:absolute!important;bottom:6%!important;left:18%!important;right:18%!important;height:18px!important;background:radial-gradient(ellipse at center,rgba(0,0,0,.15) 0%,transparent 70%)!important;filter:blur(8px)!important}
.nwidea-mockup__cushion{width:78%!important;aspect-ratio:1/1!important;background:linear-gradient(135deg,#FFFFFF 0%,#F4F1EA 100%)!important;border-radius:14px!important;position:relative!important;box-shadow:inset 0 0 90px rgba(0,0,0,.05),0 14px 30px rgba(0,0,0,.1),0 4px 8px rgba(0,0,0,.06)!important;overflow:hidden!important;z-index:2!important}
.nwidea-mockup__cushion::before{content:""!important;position:absolute!important;inset:0!important;border-radius:14px!important;pointer-events:none!important;background:radial-gradient(ellipse 60% 14% at 50% -3%,rgba(0,0,0,.09) 0%,transparent 70%),radial-gradient(ellipse 60% 14% at 50% 103%,rgba(0,0,0,.09) 0%,transparent 70%),radial-gradient(ellipse 14% 60% at -3% 50%,rgba(0,0,0,.09) 0%,transparent 70%),radial-gradient(ellipse 14% 60% at 103% 50%,rgba(0,0,0,.09) 0%,transparent 70%);z-index:3!important}
.nwidea-mockup__cushion::after{content:""!important;position:absolute!important;top:14%!important;left:18%!important;width:18%!important;height:6%!important;background:radial-gradient(ellipse at center,rgba(255,255,255,.45) 0%,transparent 70%)!important;border-radius:50%!important;pointer-events:none!important;z-index:4!important}
.nwidea-mockup__design{position:absolute!important;inset:0!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:12%!important;opacity:0!important;transition:opacity .3s ease!important;z-index:2!important}
.nwidea-mockup__design.has-image{opacity:1!important}
.nwidea-mockup__design img{max-width:100%!important;max-height:100%!important;width:auto!important;height:auto!important;object-fit:contain!important;mix-blend-mode:multiply!important;filter:contrast(.96) brightness(.98)!important;display:block!important}
.nwidea-mockup.full .nwidea-mockup__design{padding:0!important}
.nwidea-mockup.full .nwidea-mockup__design img{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important}
.nwidea-mockup.repeat .nwidea-mockup__design{padding:0!important;background-repeat:repeat!important;background-size:26% auto!important;mix-blend-mode:multiply!important;filter:contrast(.96) brightness(.98)!important}
.nwidea-mockup.repeat .nwidea-mockup__design img{display:none!important}
.nwidea-mockup.lin .nwidea-mockup__cushion{background-image:linear-gradient(135deg,#F8F4EC 0%,#EDE6D8 100%),repeating-linear-gradient(90deg,rgba(0,0,0,.04) 0,rgba(0,0,0,.04) 1px,transparent 1px,transparent 3px),repeating-linear-gradient(0deg,rgba(0,0,0,.04) 0,rgba(0,0,0,.04) 1px,transparent 1px,transparent 3px)!important;background-blend-mode:normal,multiply,multiply!important}
.nwidea-mockup__empty{position:absolute!important;inset:0!important;display:flex!important;align-items:center!important;justify-content:center!important;color:var(--nw-muted)!important;font-size:11.5px!important;letter-spacing:.12em!important;text-transform:uppercase!important;font-weight:600!important;text-align:center!important;padding:0 12%!important;z-index:1!important;pointer-events:none!important}
.nwidea-mockup.has-design .nwidea-mockup__empty{display:none!important}

/* Placement chips */
.nwidea-place{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:8px!important}
.nwidea-place__chip{position:relative!important;cursor:pointer!important;display:block!important;text-align:center!important}
.nwidea-place__chip input{position:absolute!important;opacity:0!important;pointer-events:none!important}
.nwidea-place__chip-vis{display:block!important;background:#fff!important;border:1px solid var(--nw-line)!important;padding:10px 6px!important;font-size:11px!important;letter-spacing:.06em!important;font-weight:600!important;color:var(--nw-ink)!important;transition:.2s!important}
.nwidea-place__chip input:checked + .nwidea-place__chip-vis{background:var(--nw-ink)!important;color:#fff!important;border-color:var(--nw-ink)!important}
.nwidea-place__chip-vis svg{width:22px!important;height:22px!important;display:block!important;margin:0 auto 4px!important;stroke:currentColor!important;stroke-width:1.4!important;fill:none!important}

/* Drop zone (smaller now since mockup is the hero) */
.nwidea-custom__drop{position:relative!important;border:2px dashed var(--nw-line)!important;background:#fff!important;padding:18px 16px!important;text-align:center!important;cursor:pointer!important;transition:.2s!important;border-radius:2px!important}
.nwidea-custom__drop:hover,.nwidea-custom__drop.drag{border-color:var(--nw-accent)!important;background:#fefbf9!important}
.nwidea-custom__drop input[type=file]{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;cursor:pointer!important;font-size:0!important}
.nwidea-custom__drop svg{width:24px!important;height:24px!important;stroke:var(--nw-muted)!important;stroke-width:1.4!important;fill:none!important;margin:0 auto 6px!important;display:block!important}
.nwidea-custom__drop strong{font-size:13px!important;font-weight:600!important;color:var(--nw-ink)!important;display:block!important;margin-bottom:2px!important}
.nwidea-custom__drop span{font-size:11.5px!important;color:var(--nw-muted)!important;display:block!important}
.nwidea-custom__drop.has-file{border-style:solid!important;border-color:#4A7A4A!important;background:#f5f9f5!important}
.nwidea-custom__drop.has-file strong{color:#2a5a2a!important}
.nwidea-custom__drop.has-file svg{stroke:#4A7A4A!important}
.nwidea-custom__clear{display:none!important;font-size:11.5px!important;color:var(--nw-muted)!important;text-decoration:underline!important;background:none!important;border:0!important;cursor:pointer!important;padding:6px 0 0!important;margin:0 auto!important}
.nwidea-custom__clear.show{display:block!important}
.nwidea-custom__clear:hover{color:var(--nw-sale)!important}

.nwidea-custom textarea{width:100%!important;padding:10px 12px!important;border:1px solid var(--nw-line)!important;background:#fff!important;font-family:var(--nw-sans)!important;font-size:13.5px!important;min-height:60px!important;outline:0!important;resize:vertical!important;color:var(--nw-ink)!important}
.nwidea-custom textarea:focus{border-color:var(--nw-ink)!important}

/* Line item properties (cart) */
.nwidea-prop{font-size:11.5px!important;color:var(--nw-muted)!important;margin-top:6px!important;line-height:1.5!important}
.nwidea-prop b{font-weight:500!important;color:var(--nw-ink-soft,#3D3D3D)!important}
.nwidea-prop a{color:var(--nw-accent)!important;text-decoration:underline!important}
