.cp{padding:3rem 0 5rem}
.cp__head{text-align:center;max-width:42rem;margin:0 auto 2.5rem}
.cp__layout{display:grid;gap:2rem;grid-template-columns:1fr}
@media(min-width:900px){.cp__layout{grid-template-columns:1.15fr 1fr;align-items:start}.cp__panel{position:sticky;top:6rem}}
.cp__wall{position:relative;aspect-ratio:4/3.4;border-radius:1.25rem;overflow:hidden;background:linear-gradient(180deg,#ece9e3 0%,#e4e0d8 72%,#cfc9bd 72%,#c4bdae 100%);display:grid;place-items:center;padding-bottom:6%}
.cp__lamp{position:absolute;inset:-20% 30% auto;height:60%;background:radial-gradient(closest-side,rgba(255,244,214,.9),transparent);pointer-events:none}
.cp__poster{position:relative;background:#fff;box-shadow:0 18px 40px rgba(0,0,0,.28),0 2px 6px rgba(0,0,0,.2);height:68%;aspect-ratio:1/1.414;transition:aspect-ratio .3s,background .2s}
.cp__stage[data-size=p] .cp__poster{aspect-ratio:2/3}
.cp__frame{position:absolute;inset:0;overflow:hidden;transition:inset .2s}
.cp__img{position:absolute;inset:0;background-size:cover;background-position:center;transform-origin:center}
.cp__stage[data-border=white] .cp__frame{inset:7%}.cp__stage[data-border=white] .cp__poster{background:#fff}
.cp__stage[data-border=black] .cp__frame{inset:7%}.cp__stage[data-border=black] .cp__poster{background:#151515}
.cp__stage[data-border=white] .cp__cap{color:#222}.cp__stage[data-border=black] .cp__cap{color:#eee}
.cp__cap{position:absolute;left:0;right:0;bottom:1.5%;text-align:center;font:italic .7rem/1 Georgia,serif;display:none}
.cp__stage:not([data-border=none]) .cp__cap{display:block}.cp__cap[hidden]{display:none!important}
.cp__note{text-align:center;font-size:.85rem;opacity:.65;margin:.75rem 0 0}.cp__note[hidden]{display:none}
.cp__panel{display:grid;gap:1.25rem}
.cp__drop{display:grid;gap:.25rem;text-align:center;padding:1.75rem 1rem;border:2px dashed currentColor;border-radius:1rem;cursor:pointer;transition:background .2s}
.cp__drop:hover,.cp__drop:focus-within{background:rgba(0,0,0,.05)}
.cp__drop b{font-size:1.1rem}.cp__drop small{opacity:.65;word-break:break-all}
.cp__drop.is-set{border-style:solid}
.cp__err{color:#b3261e;margin:0;font-size:.9rem}
.cp__group{border:0;padding:0;margin:0;display:grid;gap:.5rem}
.cp__group legend,.cp__text span{font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;padding:0}
.cp__text em{font-weight:400;text-transform:none;letter-spacing:0;opacity:.6}
.cp__chips{display:flex;flex-wrap:wrap;gap:.5rem}
.cp__chip{position:relative}.cp__chip input{position:absolute;opacity:0;pointer-events:none}
.cp__chip span{display:inline-block;padding:.6rem 1rem;border:1.5px solid currentColor;border-radius:999px;cursor:pointer;font-size:.95rem}
.cp__chip input:checked+span{background:#111;color:#fff;border-color:#111}
.cp__chip input:focus-visible+span{outline:2px solid #111;outline-offset:2px}
.cp__text input{width:100%;padding:.75rem 1rem;border:1.5px solid currentColor;border-radius:.75rem;background:transparent;font:inherit;color:inherit}
.cp__range{width:100%}
.cp__price{font-size:1.6rem;font-weight:700;margin:0}.cp__price small{font-size:.8rem;font-weight:400;opacity:.65}
.cp__points{margin:0;padding-left:1.1rem;font-size:.9rem;opacity:.8;display:grid;gap:.25rem}
.cp__empty{text-align:center;opacity:.7}
