:root {
  --art-pad: clamp(12px, 2.4vw, 24px);
  --art-gap: clamp(12px, 4vw, 40px);
  --art-info-min: 200px;
}

.artwork_page {
  width: 80%;
  min-height: 100vh;
  margin: 0;
  padding-left: 50px;
  display: flex;
 justify-self: center;
  align-items: center;
  box-sizing: border-box;
  overflow-x: auto;
  overflow-y: hidden;
}

.artwork_layout {
  width: 100%;
  min-height: calc(100vh - (var(--art-pad) * 2));
  display: flex;
 justify-self: center;
  align-items: center;
  min-width: 0;
}

.artwork_main_image_box {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(var(--art-info-min), max-content);
  align-items: center;
  column-gap: var(--art-gap);
  margin: 0 auto;
  box-sizing: border-box;
  align-items: end;
  padding-right: 4%;
}

.artwork_visual {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.artwork_visual img {
  display: block;
  width: 100%;   /* this makes resizing smooth */
  height: auto;
  max-height: clamp(280px, 60vh, calc(100vh - (var(--art-pad) * 2) - 40px));
  object-fit: contain;
}

.artwork_visual {
  position: relative;
}

.artwork_add_btn {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 50;
  opacity: 0;
  pointer-events: none;
  transform: translateY(20px);
  transition:
    opacity 0.35s ease,
    transform 0.35s ease;
    width:45px;
}

.artwork_visual:hover .artwork_add_btn {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.artwork_add_btn img {
  display: block;
}

.artwork_add_btn:hover img {
  transform: scale(1.08);
  transition: transform 0.2s ease;
}


.artwork_info_col {
  min-width: var(--art-info-min);
  width: max-content;
  max-width: 100%;
  padding-left: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 0;
  box-sizing: border-box;
}

.artwork_title {
  color: #b7874c;
  line-height: 1.1;
  font-size: clamp(14px, 2vw, 20px);
  font-family: "Outfit";
  font-weight: 600;
  white-space: nowrap;
  width: max-content;
  max-width: 100%;
  overflow: visible;
  text-overflow: clip;
  min-width: 0;
  padding-bottom:5px;
}

.artwork_number {
  vertical-align: super;
  font-size: clamp(6px, 1.6vw, 14px);
  color: #888;
  font-weight: 400;
  line-height: 1;
}

.artwork_meta_row {
  color: #a5a5a5;
  width: 200px;
  gap: 10px;
}

.artwork_spacer1 {
  border-left: 1px solid rgb(173, 173, 173);
  min-height: 10px;
  height: 100px;
  margin: 10px 0;
}

.artwork_spacer2 {
  border-left: 1px solid rgb(172, 172, 172);
  min-height: 15px;
  margin: 10px 0;
}

.artwork_meta_value {
  font-size: clamp(8px, 2vw, 12px);
  margin-top: auto;
}

.spec_cena_box {
  display: flex;
}

.artwork_price {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: "Outfit";
  font-weight: 600;
  color: #4d4d4d;
  font-size: clamp(14px, 2vw, 16px);
  height: 25px;
  padding: 0 5px 0 8px;
  border-left: 5px solid #b7874c;
  
}

.spec_currency {
  vertical-align: super;
  text-align: right;
  color: #303030;
  line-height: 1;
  font-size: clamp(6px, 1.5vw, 10px);
}

.artwork_share_box {
  margin-top: 28px;
  padding: 14px;
  background: #faf7f2;
  border: 1px solid #eee3d4;
  word-break: break-all;
  font-size: 14px;
  line-height: 1.5;
}

.mm-restore-target {
  outline: 2px solid #b7874c;
  outline-offset: 4px;
}

.artwork_visual {
  position: relative;
}

.artwork_lightbox_link,
.artwork_lightbox_link img {
  display: block;
  width: 100%;
}

.artwork_add_btn img {
  display: block;
}