.awp-gallery-slide {
  position: relative;
}

/* Prevent gallery links from behaving like normal clickable product images */
.awp-gallery-slide > a {
  display: block;
  cursor: default;
}

.awp-preview {
  --awp-left: 50%;
  --awp-top: 30%;
  --awp-max-width: 720px;

  --awp-base-paper-width: 16%;
  --awp-size-scale: 1;
  --awp-product-scale: 1;
  --awp-paper-width: calc(var(--awp-base-paper-width) * var(--awp-size-scale) * var(--awp-product-scale));

  --awp-frame-color: #111;
  --awp-frame-inner-line: rgba(255, 255, 255, 0.28);
  --awp-frame-shadow-color: rgba(0, 0, 0, 0.28);
  --awp-frame-padding: clamp(4px, 3.2%, 18px);

  position: relative;
  width: 100%;
  max-width: var(--awp-max-width);
  margin: 0 auto;
  overflow: hidden;
  background: #f7f5f2;
}

.awp-preview__room {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
}

.awp-preview__art-position {
  position: absolute;
  left: var(--awp-left);
  top: var(--awp-top);
  width: var(--awp-paper-width);
  transform: translate(-50%, -50%);
  transition: width 0.25s ease, left 0.25s ease, top 0.25s ease;
}

.awp-preview__outer-frame {
  position: relative;
  width: 100%;
  background: var(--awp-frame-color);
  padding: var(--awp-frame-padding);
  box-sizing: content-box;
  box-shadow:
    0 10px 22px var(--awp-frame-shadow-color),
    inset 0 0 0 1px var(--awp-frame-inner-line);
}

.awp-preview__outer-frame::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.22), transparent 32%),
    linear-gradient(315deg, rgba(0,0,0,0.14), transparent 42%);
  opacity: 0.45;
}

.awp-preview__art-window {
  position: relative;
  z-index: 1;
  width: 100%;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 0 0 1px rgba(0,0,0,0.07);
}

.awp-preview__art-window > img.awp-preview__artwork {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: unset !important;
  object-position: center center !important;
  margin: 0 !important;
  background: #fff;
}

/* Portrait base sizes. JS/product settings apply the scale multiplier. */
.awp-preview.awp-size-small {
  --awp-base-paper-width: 15%;
}

.awp-preview.awp-size-medium {
  --awp-base-paper-width: 20%;
}

.awp-preview.awp-size-large {
  --awp-base-paper-width: 25%;
}

.awp-preview.awp-size-x-large {
  --awp-base-paper-width: 35%;
}

.awp-preview.awp-size-statement {
  --awp-base-paper-width: 40%;
}

/* Landscape base sizes. */
.awp-preview.awp-orientation-landscape.awp-size-small {
  --awp-base-paper-width: 21%;
}

.awp-preview.awp-orientation-landscape.awp-size-medium {
  --awp-base-paper-width: 30%;
}

.awp-preview.awp-orientation-landscape.awp-size-large {
  --awp-base-paper-width: 37.5%;
}

.awp-preview.awp-orientation-landscape.awp-size-x-large {
  --awp-base-paper-width: 49.5%;
}

.awp-preview.awp-orientation-landscape.awp-size-statement {
  --awp-base-paper-width: 57%;
}

/* Generated frame colors. */
.awp-preview.awp-frame-black {
  --awp-frame-color: #111;
  --awp-frame-inner-line: rgba(255,255,255,0.20);
  --awp-frame-shadow-color: rgba(0,0,0,0.30);
}

.awp-preview.awp-frame-white {
  --awp-frame-color: #f1eee8;
  --awp-frame-inner-line: rgba(160,150,135,0.22);
  --awp-frame-shadow-color: rgba(0,0,0,0.20);
}

.awp-preview.awp-frame-oak {
  --awp-frame-color: #d8b990;
  --awp-frame-inner-line: rgba(110,80,45,0.16);
  --awp-frame-shadow-color: rgba(0,0,0,0.24);
}

.awp-preview.awp-frame-oak .awp-preview__outer-frame {
  background: #d8b990;
}

.awp-preview.awp-frame-oak .awp-preview__outer-frame::before {
  display: none;
}

.awp-preview.awp-frame-none {
  --awp-frame-padding: 0px;
}

.awp-preview.awp-frame-none .awp-preview__outer-frame {
  background: transparent;
  box-shadow: none;
  padding: 0;
}

.awp-preview.awp-frame-none .awp-preview__outer-frame::before {
  display: none;
}

.awp-preview.awp-frame-none .awp-preview__art-window {
  box-shadow: 0 0 0 1px rgba(0,0,0,0.06);
}

.awp-admin-preview-wrap {
  margin-top: 28px;
  padding: 18px;
  background: #fff;
  border: 1px solid #dcdcde;
  max-width: 780px;
}


/* Custom zoom modal for the dynamic single-print wall preview */
.awp-modal {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(0, 0, 0, 0.72);
  box-sizing: border-box;
}

.awp-modal.awp-modal-open {
  display: flex;
}

.awp-modal__inner {
  position: relative;
  width: min(96vw, 1400px);
  max-height: 94vh;
  overflow: auto;
  background: #fff;
}

.awp-modal__inner .awp-preview {
  max-width: none !important;
  width: 100% !important;
}

.awp-modal__inner .awp-preview__room {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}

.awp-modal__close {
  position: fixed;
  top: 18px;
  right: 22px;
  z-index: 1000000;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 999px;
  background: #fff;
  color: #111;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}


/* Safety fallback: if a landscape room mockup URL is missing/broken, keep the preview area from collapsing. */
.awp-preview.awp-room-error {
  aspect-ratio: 3 / 2;
}

.awp-preview.awp-room-error .awp-preview__room {
  display: none !important;
}
