.pm-case-designer{margin:1.5rem 0;padding:clamp(1rem,3vw,2rem);border:1px solid rgba(130,70,45,.24);border-radius:20px;background:linear-gradient(145deg,#fffaf2,#f3eee5);box-shadow:0 18px 46px rgba(24,18,14,.09)}
.pm-case-designer__eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#a7352d}.pm-case-designer h3{margin:.15rem 0 .5rem;font-size:clamp(1.55rem,3vw,2.25rem)}
.pm-case-designer__layout{display:grid;grid-template-columns:minmax(230px,.82fr) minmax(330px,1.3fr);gap:clamp(1rem,3vw,2rem);align-items:start}.pm-case-designer__controls{display:grid;gap:.65rem}.pm-case-designer label,.pm-case-designer legend{font-weight:750}.pm-case-designer fieldset{margin:0;padding:.65rem;border:1px solid rgba(80,55,40,.18);border-radius:12px}.pm-case-designer input,.pm-case-designer select,.pm-case-designer textarea{width:100%;min-height:44px}.pm-case-designer input[type=checkbox]{width:auto;min-height:auto}.pm-case-designer__hint,.pm-case-designer__disclaimer{font-size:.88rem;color:#5d554e}.pm-case-designer__swatches{display:flex;flex-wrap:wrap;gap:.45rem}.pm-case-designer__swatch{min-height:42px;padding:.35rem .65rem .35rem 2.15rem;border:2px solid transparent;border-radius:10px;background:linear-gradient(var(--swatch),var(--swatch)) .55rem 50%/1.2rem 1.2rem no-repeat,#fff;color:#201d1b}.pm-case-designer__swatch[aria-pressed=true]{border-color:#b6322a;box-shadow:0 0 0 2px rgba(182,50,42,.18)}
.pm-case-designer__actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.pm-case-designer__actions button{min-height:44px;border:1px solid #9d342c;border-radius:10px;background:#fff;color:#76251f;font-weight:750}.pm-case-designer__stage{position:relative;touch-action:none;outline:none}.pm-case-designer__stage:focus{box-shadow:0 0 0 4px rgba(183,53,44,.25);border-radius:18px}.pm-case-designer canvas{display:block;width:100%;height:auto;aspect-ratio:1;border-radius:18px;background:#d8d1c7}.pm-case-designer__boundary{position:absolute;left:50%;bottom:.65rem;transform:translateX(-50%);padding:.25rem .55rem;border-radius:6px;background:rgba(20,18,16,.78);color:#fff;font-size:.72rem;white-space:nowrap}.pm-case-designer__status,.pm-case-designer__warning{margin:.65rem 0 0}.pm-case-designer__warning{padding:.65rem;border-left:4px solid #bd7625;background:#fff1d9}
:root[data-theme=dark] .pm-case-designer{background:linear-gradient(145deg,#171b21,#242a31);border-color:#604940;color:#f7f0e7}:root[data-theme=dark] .pm-case-designer__hint,:root[data-theme=dark] .pm-case-designer__disclaimer{color:#c8c0b7}:root[data-theme=dark] .pm-case-designer__actions button{background:#15191e;color:#ffb09f}:root[data-theme=dark] .pm-case-designer fieldset{border-color:#514a43}
@media(max-width:780px){.pm-case-designer__layout{grid-template-columns:1fr}.pm-case-designer__stage-wrap{order:-1}.pm-case-designer__actions{grid-template-columns:1fr}.pm-case-designer__boundary{white-space:normal;text-align:center;width:max-content;max-width:90%}}
@media(prefers-reduced-motion:reduce){.pm-case-designer *{scroll-behavior:auto!important;transition:none!important}}

/* Full-width pilot framing and explicit theme surfaces. */
.pm-case-designer{box-sizing:border-box}
.pm-case-designer__stage-wrap{width:100%;max-width:720px;justify-self:center}
.pm-case-designer input:not([type=checkbox]):not([type=range]),.pm-case-designer select,.pm-case-designer textarea{box-sizing:border-box;border:1px solid #b9aa9a;border-radius:9px;background:#fff;color:#201d1b}
.pm-case-designer input[type=file]{padding:.45rem}
.pm-case-designer input[type=file]::file-selector-button{margin-right:.65rem;padding:.45rem .65rem;border:1px solid #9d342c;border-radius:7px;background:#fff7ef;color:#76251f;font-weight:750;cursor:pointer}
.pm-case-designer__swatch{background-color:#fff!important;background-image:linear-gradient(var(--swatch),var(--swatch))!important;background-position:.55rem 50%!important;background-repeat:no-repeat!important;background-size:1.2rem 1.2rem!important;color:#201d1b!important}
.pm-case-designer__actions button{background-color:#fff!important;background-image:none!important;color:#76251f!important}
.pm-case-designer input:focus-visible,.pm-case-designer select:focus-visible,.pm-case-designer textarea:focus-visible,.pm-case-designer button:focus-visible{outline:3px solid #f08a63!important;outline-offset:2px}
:root[data-theme=dark] .pm-case-designer input:not([type=checkbox]):not([type=range]):not([type=file]),:root[data-theme=dark] .pm-case-designer select,:root[data-theme=dark] .pm-case-designer textarea{border-color:#626d79;background:#0f151d!important;color:#f7f0e7!important;color-scheme:dark}
:root[data-theme=dark] .pm-case-designer input[type=file]{border-color:#626d79;background:#0f151d!important;color:#d8dfe7!important;color-scheme:dark}
:root[data-theme=dark] .pm-case-designer input[type=file]::file-selector-button{border-color:#db765f;background:#202832;color:#ffd4c8}
:root[data-theme=dark] .pm-case-designer__swatch{background-color:#101720!important;color:#f7f0e7!important}
:root[data-theme=dark] .pm-case-designer__actions button{border-color:#db765f;background-color:#101720!important;color:#ffc2b2!important}
:root[data-theme=dark] .pm-case-designer__warning{border-left-color:#f0a44a;background:#302719;color:#ffe1ae}
:root[data-theme=dark] .pm-case-designer__status{color:#ddd4ca}
@media(min-width:901px){
 body.single-product .product .summary .pm-case-designer{width:208.333333%;max-width:none;margin:2.5rem 0 2rem -108.333333%;padding:clamp(1.5rem,2.5vw,2.25rem)}
 body.single-product .product .summary .pm-case-designer__layout{grid-template-columns:minmax(300px,.72fr) minmax(440px,1.28fr);gap:clamp(1.5rem,3vw,2.5rem)}
}
@media(max-width:900px){
 body.single-product .product .summary .pm-case-designer{width:100%;margin:1.5rem 0}
 .pm-case-designer__layout{grid-template-columns:1fr}
 .pm-case-designer__stage-wrap{order:-1;max-width:620px}
}
