body.wall-preview-open { overflow: hidden; }
.original-offer-actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin-top: 1rem; }
.original-offer-actions .artwork-cart-button { margin-top: 0; }
.wall-preview[hidden], .wall-preview [hidden] { display: none !important; }
.wall-preview { position: fixed; inset: 0; z-index: 1200; }
.wall-preview__backdrop { position: absolute; inset: 0; background: rgba(18, 17, 15, .88); }
.wall-preview__dialog { position: absolute; inset: clamp(.5rem, 2vw, 1.5rem); display: grid; grid-template-rows: auto minmax(0, 1fr); overflow: hidden; color: var(--ink); background: var(--paper); box-shadow: 0 25px 80px rgba(0, 0, 0, .4); }
.wall-preview__header { display: flex; min-height: 76px; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--line); padding: .75rem 1.25rem; }
.wall-preview__header .eyebrow { margin: 0 0 .2rem; }
.wall-preview__header h2 { margin: 0; font-size: clamp(1.65rem, 3vw, 2.4rem); }
.wall-preview__close { display: grid; width: 48px; height: 48px; flex: 0 0 auto; border: 1px solid var(--line); border-radius: 50%; padding: 0; color: var(--ink); background: transparent; place-items: center; font-size: 2rem; line-height: 1; cursor: pointer; }
.wall-preview__body { display: grid; min-height: 0; grid-template-columns: minmax(260px, 330px) minmax(0, 1fr); }
.wall-preview__sidebar { overflow-y: auto; border-right: 1px solid var(--line); padding: clamp(1rem, 2vw, 1.5rem); }
.wall-preview__product { margin: 0 0 .75rem; font: 600 1.35rem/1.25 var(--serif); }
.wall-preview__sidebar > p { line-height: 1.55; }
.wall-preview__upload { display: grid; gap: 1rem; margin-top: 1.5rem; }
.wall-preview__upload .button { width: 100%; }
.wall-preview__privacy, .wall-preview__measurement p { margin: 0; color: var(--muted); font-size: .75rem; line-height: 1.5; }
.wall-preview__measurement { display: grid; gap: .75rem; margin-top: 1.5rem; }
.wall-preview__measurement > label { font-weight: 700; }
.wall-preview__measurement-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .65rem; }
.wall-preview__measurement-row input { width: 100%; min-height: 48px; border: 1px solid var(--line); padding: .55rem .7rem; background: #fff; }
.wall-preview__error { margin: 1rem 0 0; color: #9b352d; font-size: .82rem; }
.wall-preview__primary-controls { display: grid; margin-top: 1.5rem; }
.wall-preview__secondary-controls { display: grid; gap: 0; margin-top: 1.25rem; border-top: 1px solid var(--line); }
.wall-preview__secondary-controls button { min-height: 44px; border: 0; border-bottom: 1px solid var(--line); padding: .65rem 0; color: var(--ink); background: transparent; text-align: left; cursor: pointer; }
.wall-preview__secondary-controls button:hover { color: var(--clay-dark); }
.wall-preview__stage { position: relative; min-width: 0; min-height: 320px; overflow: hidden; background: #211f1c; touch-action: none; }
.wall-preview__stage canvas, .wall-preview__stage svg { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.wall-preview__stage svg { touch-action: none; }
.wall-preview__wall-area { fill: rgba(197, 125, 94, .12); stroke: #fff; stroke-width: 2; vector-effect: non-scaling-stroke; cursor: move; }
.wall-preview__artwork-hit { fill: rgba(255, 255, 255, .001); stroke: none; cursor: grab; }
.wall-preview__artwork-hit:active { cursor: grabbing; }
.wall-preview__handle-target { fill: transparent; cursor: grab; }
.wall-preview__handle { fill: #fff; stroke: var(--clay-dark); stroke-width: 3; vector-effect: non-scaling-stroke; cursor: grab; }
.wall-preview__handle { pointer-events: none; }
.wall-preview__handle--side { fill: var(--clay-dark); stroke: #fff; }

@media (max-width: 760px) {
  .wall-preview__dialog { inset: 0; }
  .wall-preview__header { min-height: 66px; padding: .55rem .8rem; }
  .wall-preview__body { grid-template-rows: minmax(0, 1fr) auto; grid-template-columns: minmax(0, 1fr); }
  .wall-preview__stage { grid-row: 1; min-height: 0; }
  .wall-preview__sidebar { grid-row: 2; max-height: 42vh; border-top: 1px solid var(--line); border-right: 0; padding: .85rem 1rem max(1rem, env(safe-area-inset-bottom)); }
  .wall-preview[data-mode="upload"] .wall-preview__body { grid-template-rows: minmax(0, 1fr); }
  .wall-preview[data-mode="upload"] .wall-preview__sidebar { grid-row: 1; max-height: none; align-content: center; }
  .wall-preview__sidebar > p { margin-block: 0 .5rem; font-size: .82rem; }
  .wall-preview__product { font-size: 1.05rem !important; }
  .wall-preview__upload { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); align-items: center; gap: .75rem; margin-top: .75rem; }
  .wall-preview__measurement { margin-top: .75rem; }
  .wall-preview__primary-controls { margin-top: .75rem; }
  .wall-preview__secondary-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: .75rem; }
  .wall-preview__secondary-controls button { border-right: 1px solid var(--line); padding-inline: .5rem; font-size: .75rem; text-align: center; }
}

@media (max-width: 420px) {
  .wall-preview__header .eyebrow { display: none; }
  .wall-preview__header h2 { font-size: 1.5rem; }
  .wall-preview__close { width: 44px; height: 44px; }
  .wall-preview__sidebar { max-height: 46vh; }
}
