/*
 * ArtX artwork detail: the /artwork/<slug> surface at the measured geometry
 * (the control plane's measured token spec: Artwork detail page). Reads
 * tokens.css, base.css and shell.css; enqueued on the artwork route only.
 * Breakpoints: xs < 768, sm from 768, md from 1280.
 *
 * Column rhythm from sm: the 12-column grid splits 8 (image column, then the
 * details section 60px under it) and 4 (sidebar); xs stacks image, sidebar
 * (10px below), details (60px below). The image column is the image plus 81px
 * when the work has several images (20px, the 1px progress line, 20px, the
 * 40px action row) and the image plus 60px with one; the action row holds
 * the thumbnail strip and the Zoom control. The sidebar runs title block,
 * metadata (20px), price (20px), CTAs (20px, 10px apart), then 40px to the
 * disclosure row, the rule, and the seller row (20px each side).
 */

/* The wrapping breadcrumb row separates the header from the artwork. */
.artx-artwork__back-row {
	border-bottom: 1px solid var(--artx-color-black-15);
}


/* Columns */
.artx-artwork__layout {
	display: grid;
	grid-template-columns: repeat(var(--artx-grid-columns), minmax(0, 1fr));
	column-gap: var(--artx-grid-column-gap);
	row-gap: 0;
	margin-top: var(--artx-space-2);
}

.artx-artwork__media,
.artx-artwork__sidebar,
.artx-artwork__details {
	grid-column: 1 / -1;
	min-width: 0;
}

.artx-artwork__sidebar {
	margin-top: var(--artx-space-1);
}

.artx-artwork__details {
	margin-top: var(--artx-space-6);
}

/* Image column */
.artx-artwork__media {
	margin: 0;
}

.artx-artwork__image-description {
	margin-top: var(--artx-space-2);
	color: var(--artx-color-black-100);
	font-size: var(--artx-type-sm-size);
	line-height: 1.5;
	overflow-wrap: anywhere;
}

.artx-artwork__stage {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.artx-artwork__zoom {
	display: block;
	max-width: min(100%, 800px);
	padding: 0;
	border: 0;
	background: none;
	cursor: zoom-in;
}

.artx-artwork__image {
	display: block;
	width: 100%;
	object-fit: cover;
	height: auto;
	max-width: 100%;
	max-height: var(--artx-detail-image-max-height);
}

.artx-artwork__nav {
	position: absolute;
	top: calc(50% + 10px);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 70px;
	height: 70px;
	margin-top: -35px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--artx-color-black-100);
	opacity: 0;
	transition: opacity var(--artx-transition);
	cursor: pointer;
}

.artx-artwork__nav svg {
	width: 18px;
	height: 18px;
}

.artx-artwork__nav--prev {
	left: 0;
}

.artx-artwork__nav--next {
	right: 0;
}

.artx-artwork__stage:hover .artx-artwork__nav,
.artx-artwork__nav:focus-visible {
	opacity: 1;
}

@media (hover: none) {
	.artx-artwork__nav {
		opacity: 1;
	}
}

.artx-artwork__progress {
	display: flex;
	height: var(--artx-detail-progress-height);
	margin: var(--artx-space-2) 0 0;
	padding: 0;
	list-style: none;
}

.artx-artwork__progress-step {
	flex: 1 1 0;
	height: var(--artx-detail-progress-height);
	margin: 0 var(--artx-space-0-5);
	background: var(--artx-color-black-30);
}

.artx-artwork__progress-step.artx-is-current {
	background: var(--artx-color-black-100);
}

.artx-artwork__actions {
	display: flex;
	justify-content: center;
	height: var(--artx-detail-image-actions-height);
	margin-top: var(--artx-space-2);
}

.artx-artwork__actions-group {
	display: flex;
	align-items: center;
	max-width: 100%;
	column-gap: var(--artx-space-2);
	height: var(--artx-detail-image-actions-height);
}

.artx-artwork__thumbs {
	display: flex;
	flex: 0 1 auto;
	min-width: 0;
	column-gap: var(--artx-space-1);
	margin: 0;
	padding: 0;
	overflow-x: auto;
	scrollbar-width: none;
	list-style: none;
}

.artx-artwork__thumbs::-webkit-scrollbar {
	display: none;
}

.artx-artwork__thumbs li {
	flex: 0 0 auto;
}

.artx-artwork__thumb {
	display: block;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid transparent;
	background: none;
	cursor: pointer;
}

.artx-artwork__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.artx-artwork__thumb.artx-is-current {
	border-color: var(--artx-color-black-100);
}

.artx-artwork__action {
	display: inline-flex;
	align-items: center;
	height: var(--artx-detail-image-actions-height);
	padding: 0 var(--artx-space-1);
	border: 0;
	background: none;
	color: var(--artx-color-black-100);
	font-size: var(--artx-type-xs-size);
	line-height: var(--artx-type-xs-line);
	cursor: zoom-in;
}

.artx-artwork__action-icon {
	width: 18px;
	height: 18px;
	margin-right: var(--artx-space-1);
}

.artx-artwork__action[data-artx-save], .artx-artwork__action[data-artx-share] { position: relative; cursor: pointer; flex-shrink: 0; min-height: 44px; }
.artx-artwork__save[aria-pressed="true"] { color: var(--artx-color-blue-100, #1023d7); }
.artx-artwork__save[aria-pressed="true"] svg path { fill: currentColor; }
.artx-action-hint { display: none; position: absolute; bottom: calc(100% + 8px); left: 50%; transform: translateX(-50%); width: max-content; max-width: 200px; padding: 8px 12px; background: #000; color: #fff; font-size: 13px; line-height: 1.4; white-space: normal; overflow-wrap: anywhere; z-index: 2; pointer-events: none; }
.artx-artwork__action:hover .artx-action-hint, .artx-artwork__action:focus-visible .artx-action-hint { display: block; }
.artx-artwork__media:has(.artx-action-panel:popover-open) .artx-action-hint { display: none; }
@media (max-width: 640px) {
    .artx-artwork__save .artx-action-hint { left: auto; right: auto; inset-inline-start: 0; transform: none; }
    .artx-artwork__action[data-artx-share] .artx-action-hint { left: auto; right: auto; inset-inline-end: 0; transform: none; }
}
.artx-action-panel { position: fixed; inset: auto; margin: 0; width: min(340px, calc(100vw - 24px)); max-height: min(480px, calc(100dvh - 24px)); overflow-y: auto; padding: 20px; border: 1px solid #aaa; background: #fff; color: #000; box-shadow: 0 4px 24px #0002; overflow-wrap: anywhere; }
.artx-action-panel h2 { font-size: 22px; font-weight: 400; margin: 0 36px 16px 0; outline: none; }
.artx-action-panel p { font-size: 14px; margin: 12px 0; }

.artx-action-panel ul { padding: 0; margin: 0; list-style: none; }
.artx-action-panel li { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid #ddd; padding: 8px 0; }
.artx-action-panel li a { min-width: 0; }
.artx-action-panel li button { flex-shrink: 0; font-size: 13px; min-height: 44px; padding: 6px; background: transparent; color: #000; text-decoration: underline; }
.artx-share-link { display: flex; gap: 8px; }
.artx-share-link input { flex: 1; min-width: 0; width: 100%; height: 44px; padding: 8px; border: 1px solid #aaa; font-size: 14px; background: #fff; color: #000; }
.artx-share-link button { padding: 8px 12px; min-height: 44px; background: #000; color: #fff; border: 1px solid #000; }
.artx-share-services { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid #ddd; margin-top: 16px; padding-top: 8px; }
.artx-share-services a { display: flex; align-items: center; min-height: 44px; text-decoration: underline; }
.artx-action-panel a:hover, .artx-action-panel li button:hover, .artx-action-panel__close:hover { color: #1023d7; }
.artx-share-link button:hover { background: #1023d7; border-color: #1023d7; color: #fff; }

/* Sidebar: title block */
.artx-artwork__title {
	margin: 0;
	font-size: var(--artx-type-sm-size);
	line-height: var(--artx-type-sm-line);
	font-weight: var(--artx-font-weight-regular);
}

.artx-artwork__title-line {
	display: block;
	font-size: var(--artx-type-lg-size);
	line-height: var(--artx-type-lg-line);
	letter-spacing: var(--artx-type-lg-tracking);
}

.artx-artwork__title-line--artist {
	color: var(--artx-color-black-100);
}

.artx-artwork__artist {
	color: var(--artx-color-black-100);
}

.artx-artwork__title-line--work {
	color: var(--artx-color-black-60);
}

.artx-artwork__name {
	overflow-wrap: anywhere;
	font-style: italic;
}

/* Metadata block */
.artx-artwork__meta {
	margin-top: var(--artx-space-2);
	color: var(--artx-color-black-60);
	font-size: var(--artx-type-sm-size);
	line-height: var(--artx-type-sm-line);
}

.artx-artwork__meta p {
	margin: 0;
}

.artx-artwork__unit {
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	cursor: pointer;
}

.artx-artwork__unit:hover,
.artx-artwork__unit:focus-visible,
.artx-artwork__unit[aria-pressed="true"] {
	text-decoration: underline;
}

.artx-artwork__dimensions[data-artx-units="in"] [data-artx-unit="cm"],
.artx-artwork__dimensions[data-artx-units="cm"] [data-artx-unit="in"],
.artx-artwork__dimensions[data-artx-units="in"] .artx-artwork__dimension-sep,
.artx-artwork__dimensions[data-artx-units="cm"] .artx-artwork__dimension-sep {
	display: none;
}

.artx-artwork__badge {
	display: flex;
	align-items: center;
}

.artx-artwork__badge-icon {
	flex: 0 0 auto;
	width: 18px;
	height: 26px;
	margin: 0 var(--artx-space-1) 0 0;
	color: var(--artx-color-black-60);
}

.artx-artwork__term {
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	text-align: left;
	text-decoration: underline;
	white-space: normal;
	cursor: pointer;
}

.artx-artwork__term:hover,
.artx-artwork__term:focus-visible {
	color: var(--artx-color-black-100);
}

.artx-artwork__meta .artx-artwork__term-note {
	margin: var(--artx-space-0-5) 0 0 28px;
	font-size: var(--artx-type-xs-size);
	line-height: var(--artx-type-xs-line);
}

/* Edition sets (D7): a choice only when more than one set is priced */
.artx-artwork__editions {
	margin: var(--artx-space-2) 0 0;
	padding: 0;
	border: 0;
}

.artx-artwork__editions-legend {
	padding: 0;
	margin-bottom: var(--artx-space-1);
	color: var(--artx-color-black-100);
	font-size: var(--artx-type-xs-size);
	line-height: var(--artx-type-xs-line);
}

.artx-artwork__edition-set {
	display: flex;
	align-items: center;
	column-gap: var(--artx-space-1);
	padding: var(--artx-space-1) 0;
	border-top: var(--artx-hairline);
	color: var(--artx-color-black-60);
	font-size: var(--artx-type-sm-size);
	line-height: var(--artx-type-sm-line);
	cursor: pointer;
}

.artx-artwork__edition-set:last-child {
	border-bottom: var(--artx-hairline);
}

.artx-artwork__edition-set input {
	flex: 0 0 auto;
	margin: 0;
	accent-color: var(--artx-color-black-100);
}

.artx-artwork__edition-set-text {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-width: 0;
}

.artx-artwork__edition-set-of {
	font-size: var(--artx-type-xs-size);
	line-height: var(--artx-type-xs-line);
}

.artx-artwork__edition-set-price {
	flex: 0 0 auto;
	color: var(--artx-color-black-100);
}

/* Price line and CTAs */
.artx-artwork__price {
	margin: var(--artx-space-2) 0 0;
	color: var(--artx-color-black-100);
	font-size: var(--artx-type-lg-size);
	line-height: var(--artx-type-lg-line);
	letter-spacing: var(--artx-type-lg-tracking);
}

.artx-artwork__ctas {
	display: flex;
	flex-direction: column;
	row-gap: var(--artx-detail-cta-gap);
	margin-top: var(--artx-space-2);
}

/* Disclosure, rule, seller row */
.artx-artwork__rows {
	margin-top: var(--artx-space-4);
}

.artx-artwork__rows--bare {
	margin-top: var(--artx-space-6);
}

.artx-disclosure {
	margin-bottom: var(--artx-space-1);
}

.artx-disclosure__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: var(--artx-space-2) 0 var(--artx-space-1);
	border: 0;
	border-top: var(--artx-hairline);
	background: none;
	color: var(--artx-color-black-100);
	font-size: var(--artx-type-sm-size);
	line-height: var(--artx-type-sm-line);
	text-align: left;
	cursor: pointer;
}

.artx-disclosure__chevron {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin-left: var(--artx-space-1);
	transition: transform var(--artx-transition);
}

.artx-disclosure__summary[aria-expanded="true"] .artx-disclosure__chevron {
	transform: rotate(180deg);
}

.artx-disclosure__panel {
	padding: 0 0 var(--artx-space-1);
	color: var(--artx-color-black-60);
	font-size: var(--artx-type-sm-size);
	line-height: var(--artx-type-sm-line);
}

.artx-disclosure__panel p {
	margin: 0;
}

.artx-artwork__rule {
	height: 0;
	margin: 0;
	border: 0;
	border-top: var(--artx-hairline);
}

.artx-artwork__seller {
	display: flex;
	align-items: center;
	justify-content: space-between;
	column-gap: var(--artx-space-1);
	padding: var(--artx-space-2) 0;
}

.artx-artwork__seller-contact {
	flex: 0 1 auto;
	max-width: 100%;
	white-space: normal;
	min-width: var(--artx-detail-contact-width);
}

/* Details: tabs, About frame, the list */
.artx-tabs {
	display: flex;
	flex-wrap: wrap;
	min-height: 40px;
	border-bottom: var(--artx-hairline);
}

.artx-tabs__tab {
	display: flex;
	align-items: flex-start;
	min-height: 40px;
	max-width: 100%;
	overflow-wrap: anywhere;
	margin-bottom: -1px;
	padding: 0 var(--artx-space-2);
	border: 0;
	border-bottom: 1px solid transparent;
	background: none;
	color: var(--artx-color-black-60);
	font-size: var(--artx-type-sm-size);
	line-height: var(--artx-type-sm-line);
	white-space: normal;
	cursor: pointer;
}

.artx-tabs__tab.artx-is-current {
	border-bottom-color: var(--artx-color-black-100);
	color: var(--artx-color-black-100);
}

@media (forced-colors: active) {
	.artx-tabs__tab.artx-is-current {
		border-bottom: 3px solid Highlight;
	}
}

.artx-artwork__panels {
	margin-top: var(--artx-space-2);
}

.artx-artwork__box {
	margin: 0;
	padding: var(--artx-details-panel-padding);
	border: var(--artx-hairline);
	font-size: var(--artx-type-sm-size);
	line-height: var(--artx-type-sm-line);
}

.artx-artwork__box + .artx-artwork__box {
	border-top: 0;
}

.artx-artwork__about-placeholder {
	min-height: 98px;
}

.artx-artwork__about-text {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	color: var(--artx-color-black-100);
}

.artx-artwork__about.artx-is-open .artx-artwork__about-text {
	-webkit-line-clamp: unset;
}

.artx-artwork__about-text p {
	margin: 0;
}

.artx-artwork__about-text p + p {
	margin-top: var(--artx-space-1);
}

.artx-artwork__about-text p:first-child {
	font-weight: var(--artx-font-weight-bold);
}

.artx-artwork__about-placeholder {
	margin: 0;
	color: var(--artx-color-black-60);
}

.artx-artwork__read-more {
	margin-top: var(--artx-space-1);
	padding: 0;
	border: 0;
	background: none;
	color: var(--artx-color-black-100);
	font-size: var(--artx-type-xs-size);
	line-height: var(--artx-type-xs-line);
	font-weight: var(--artx-font-weight-bold);
	text-decoration: underline;
	cursor: pointer;
}

body.artx .artx-artwork__read-more:is(:hover, :focus-visible):not(:disabled):not([aria-disabled="true"]) {
	background: none;
	color: var(--artx-color-black-100);
}

.artx-artwork__read-more:focus:not(:focus-visible) {
	outline: none;
}

.artx-artwork__read-more:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.artx-artwork__list {
	display: flex;
	flex-direction: column;
	row-gap: var(--artx-details-row-gap);
	margin: 0;
}

.artx-artwork__row[hidden] {
	display: none;
}

.artx-artwork__row {
	display: flex;
	flex-direction: column;
}

.artx-artwork__row dt {
	flex: 0 0 auto;
	width: var(--artx-details-term-width);
	margin: 0;
	color: var(--artx-color-black-100);
	font-size: var(--artx-type-xs-size);
	line-height: var(--artx-type-xs-line);
}

.artx-artwork__row dd {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	color: var(--artx-color-black-60);
	font-size: var(--artx-type-xs-size);
	line-height: var(--artx-type-xs-line);
	white-space: pre-line;
}

/* A long value clamps to two lines behind Read more */
.artx-artwork__row dd[data-artx-clamp] .artx-artwork__row-text {
	display: block;
	max-height: 40px;
	overflow: hidden;
}

.artx-artwork__row dd.artx-is-open .artx-artwork__row-text {
	max-height: none;
}

.artx-artwork__row dd .artx-artwork__read-more {
	margin-top: 0;
}

.artx-artwork__text {
	color: var(--artx-color-black-100);
}

.artx-artwork__text p {
	margin: 0;
}

.artx-artwork__text p + p {
	margin-top: var(--artx-space-1);
}

/* Other works by the artist */
.artx-related {
	margin-top: var(--artx-space-6);
	padding-bottom: var(--artx-space-6);
}

.artx-related__header {
	display: flex;
	flex-wrap: wrap;
	row-gap: var(--artx-space-1);
	align-items: flex-start;
	justify-content: space-between;
	column-gap: var(--artx-space-2);
	margin-bottom: var(--artx-space-4);
}

.artx-related__heading {
	margin: 0;
	max-width: 100%;
	overflow-wrap: anywhere;
	font-size: var(--artx-type-lg-size);
	line-height: var(--artx-type-lg-line);
	letter-spacing: var(--artx-type-lg-tracking);
}

.artx-related__all {
	flex: 0 0 auto;
	color: var(--artx-color-black-100);
	font-size: var(--artx-type-sm-size);
	line-height: var(--artx-type-sm-line);
	text-decoration: underline;
}

.artx-masonry {
	display: grid;
	grid-template-columns: repeat(var(--artx-artwork-columns), minmax(0, 1fr));
	column-gap: var(--artx-space-2);
	row-gap: var(--artx-card-gap);
	align-items: start;
}

.artx-masonry--columns {
	display: flex;
	column-gap: var(--artx-space-2);
	align-items: flex-start;
}

.artx-masonry__column {
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	row-gap: var(--artx-card-gap);
	min-width: 0;
}

.artx-card__link {
	display: block;
	color: var(--artx-color-black-100);
}

.artx-card__link:hover,
.artx-card__link:focus-visible {
	color: var(--artx-color-black-100);
}

.artx-card__image {
	display: block;
	width: 100%;
	overflow: hidden;
}

.artx-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.artx-card__meta {
	display: block;
	margin-top: var(--artx-card-meta-gap);
	font-size: var(--artx-type-sm-size);
	line-height: var(--artx-type-sm-tight-line);
}

.artx-card__artist,
.artx-card__title,
.artx-card__seller,
.artx-card__price {
	display: block;
	overflow-wrap: anywhere;
}

.artx-card__title,
.artx-card__seller {
	color: var(--artx-color-black-60);
}

.artx-card__price {
	font-weight: var(--artx-font-weight-bold);
}

/* Private view: a neutral viewing room with one optional detail window. */
.artx-lightbox {
	--artx-view-paper: #f0f2f2;
	--artx-view-ink: #202829;
	--artx-view-muted: #626c70;
	--artx-view-rule: #d7dddd;
	--artx-view-focus: #9c6500;
	position: fixed;
	inset: 0;
	z-index: 110;
	display: grid;
	grid-template-rows: auto minmax(0, 1fr) auto;
	grid-template-columns: minmax(0, 1fr);
	width: 100vw;
	height: 100dvh;
	padding: 28px 36px 20px;
	background: var(--artx-view-paper);
	color: var(--artx-view-ink);
	font-family: var(--artx-font-family);
	overflow: hidden;
}

.artx-lightbox[hidden],
.artx-lightbox [hidden] {
	display: none;
}

.artx-private__header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 8px 24px;
	padding-bottom: 12px;
}
.artx-private__header > h2 { min-width: 0; }
.artx-private__header > .artx-private__eyebrow { grid-column: 1 / -1; margin: 0; }
.artx-private__eyebrow {
	margin: 0 0 8px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--artx-view-muted);
}
.artx-private__header h2 {
	overflow-wrap: anywhere;
	margin: 0;
	font-size: 18px;
	line-height: 1.35;
	font-weight: 500;
	letter-spacing: -.025em;
}
.artx-private__header h2 span { margin-left: 12px; font-style: italic; font-weight: 400; }
.artx-lightbox button {
	min-height: 44px;
	padding: 8px 14px;
	border: 1px solid transparent;
	border-radius: 8px;
	background: transparent;
	color: var(--artx-view-ink);
	font: 500 13px/1.3 var(--artx-font-family);
	cursor: pointer;
}
body.artx .artx-lightbox button:is(:hover, :focus-visible):not(:disabled):not([aria-disabled="true"]) { background: #e3e8e8; color: var(--artx-view-ink); }
.artx-lightbox button:disabled { opacity: .4; cursor: default; }
.artx-lightbox button:focus-visible,
.artx-lightbox [tabindex]:focus-visible { outline: 2px solid var(--artx-view-focus); outline-offset: 3px; }
body.artx .artx-lightbox button[aria-pressed="true"] { background: var(--artx-view-ink); color: #fff; }
body.artx .artx-lightbox button[aria-pressed="true"]:is(:hover, :focus-visible):not(:disabled):not([aria-disabled="true"]) { background: #e3e8e8; color: var(--artx-view-ink); }
.artx-lightbox .artx-private__back { border-color: var(--artx-view-ink); background: var(--artx-view-ink); color: #fff; font-weight: 600; white-space: nowrap; }
body.artx .artx-lightbox .artx-private__back:is(:hover, :focus-visible):not(:disabled):not([aria-disabled="true"]) { background: #3e4849; color: #fff; }
.artx-private__back span { margin-inline-start: 16px; font-size: 20px; vertical-align: -1px; }
.artx-private__body { display: flex; gap: 32px; min-height: 0; min-width: 0; padding: 12px 0; }
.artx-lightbox__stage {
	position: relative;
	flex: 1;
	min-width: 0;
	min-height: 0;
	overflow: hidden;
	touch-action: none;
	user-select: none;
	cursor: crosshair;
	border-radius: 2px;
}
.artx-lightbox__stage.artx-is-zoomed { cursor: grab; }
.artx-lightbox__stage.artx-is-zoomed:active { cursor: grabbing; }
.artx-lightbox__stage img {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	max-width: none;
	max-height: none;
	border-radius: 0;
	transform-origin: center;
	will-change: transform;
	transition: opacity 220ms ease;
	box-shadow: 0 6px 24px #20282912;
	pointer-events: none;
}
.artx-private__selection {
	position: absolute;
	border: 1px solid #fff;
	outline: 1px solid #202829;
	box-shadow: 0 0 0 1px #ffffff50 inset;
	pointer-events: none;
}
.artx-private__overview {
	position: absolute;
	bottom: 16px;
	right: 16px;
	width: 96px;
	max-height: 120px;
	background-size: 100% 100%;
	box-shadow: 0 0 0 5px #fff, 0 4px 22px #20282930;
	pointer-events: none;
}
.artx-private__overview span { position: absolute; border: 1px solid #fff; outline: 1px solid #202829; }
.artx-private__detail {
	flex: 0 0 320px;
	align-self: center;
	min-width: 0;
	padding: 12px;
	background: #fff;
	border: 1px solid var(--artx-view-rule);
	border-radius: 12px;
	box-shadow: 0 12px 36px #2028290a;
}
.artx-private__detail-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-bottom: 8px; font-size: 13px; font-weight: 500; }
.artx-private__detail-heading button { font-size: 11px; padding: 6px 10px; }
.artx-private__detail-image { margin-inline: auto; height: 280px; background-color: var(--artx-view-paper); background-repeat: no-repeat; }
.artx-private__detail p { margin: 10px 0 0; font-size: 11px; line-height: 1.5; color: var(--artx-view-muted); }
/* Keep the complete photograph and its detail aligned without unused side margins. */
.artx-private__body--paired { justify-content: center; align-items: center; padding: 64px 0 32px; }
.artx-private__body--paired .artx-lightbox__stage { flex: 0 0 var(--artx-original-width); height: var(--artx-panel-height); }
.artx-private__body--paired .artx-private__detail { position: relative; flex: 0 0 var(--artx-panel-height); height: var(--artx-panel-height); padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.artx-private__body--paired .artx-private__detail-heading { position: absolute; bottom: 100%; left: 0; right: 0; }
.artx-private__body--paired .artx-private__detail-image { width: 100%; height: 100%; }
.artx-private__body--paired .artx-private__detail p { position: absolute; top: 100%; }
.artx-private__footer { text-align: center; padding-top: 12px; }
.artx-private__toolbar {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	max-width: 100%;
	padding: 5px;
	border: 1px solid var(--artx-view-rule);
	border-radius: 13px;
	background: #fff;
	box-shadow: 0 4px 16px #20282906;
}
.artx-private__toolbar [data-artx-view-in],
.artx-private__toolbar [data-artx-view-out] { width: 44px; padding: 0; font-size: 22px; font-weight: 400; }
.artx-private__toolbar output { width: 48px; font-size: 12px; font-variant-numeric: tabular-nums; }
.artx-private__toolbar [data-artx-view-reset] { position: relative; margin-inline-start: 8px; }
.artx-private__toolbar [data-artx-view-reset]::before { content: ""; position: absolute; inset-inline-start: -7px; top: 8px; bottom: 8px; border-inline-start: 1px solid var(--artx-view-rule); }
.artx-private__footer p { margin: 10px 0 0; color: var(--artx-view-muted); font-size: 11px; line-height: 1.5; }
.artx-private__footer .artx-private__status { min-height: 17px; margin-top: 3px; }
@media (max-width: 767px) {
	.artx-lightbox { padding: max(16px, env(safe-area-inset-top)) 16px max(12px, env(safe-area-inset-bottom)); }
	.artx-private__header { gap: 12px; padding-bottom: 0; }
	.artx-private__eyebrow { font-size: 10px; margin-bottom: 6px; }
	.artx-private__header h2 { font-size: 14px; }
	.artx-private__header h2 span { display: block; margin: 3px 0 0; max-width: 48vw; }
	.artx-lightbox .artx-private__back { padding: 6px 10px; font-size: 11px; }
	.artx-private__back span { margin-left: 8px; }
	.artx-private__body { flex-direction: column-reverse; gap: 12px; padding: 8px 0; }
	.artx-private__detail { flex: 0 0 auto; width: 100%; align-self: stretch; padding: 8px; border-radius: 8px; }
	.artx-private__detail-image { height: clamp(100px, 23dvh, 200px); }
	.artx-private__detail-heading { padding-bottom: 4px; font-size: 12px; }
	.artx-private__detail p { display: none; }
	.artx-private__footer { padding-top: 0; }
	.artx-private__toolbar { gap: 0; padding: 3px; }
	.artx-private__toolbar button { padding: 6px 9px; font-size: 11px; }
	.artx-private__toolbar output { width: 36px; font-size: 11px; }
	.artx-private__toolbar [data-artx-view-in], .artx-private__toolbar [data-artx-view-out] { width: 44px; flex-shrink: 0; }
	.artx-private__footer p { font-size: 10px; margin-top: 8px; }
}
/* Keep the mobile detail, original and controls together in the available space. */
.artx-lightbox--stacked { grid-template-rows: auto minmax(0, 1fr) auto auto minmax(0, 1fr); }
.artx-lightbox--stacked .artx-private__body { grid-row: 3; }
.artx-lightbox--stacked .artx-lightbox__stage { flex: 0 0 auto; height: var(--artx-original-height, 1px); }
.artx-lightbox--stacked .artx-private__footer { grid-row: 4; }
.artx-lightbox--stacked .artx-private__detail-image { height: var(--artx-mobile-crop-height, 100px); }
@media (max-width: 359px) {
	.artx-private__toolbar { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); width: 100%; }
	.artx-private__toolbar > * { grid-column: span 2; }
	.artx-private__toolbar output { width: auto; }
	.artx-private__toolbar [data-artx-view-in], .artx-private__toolbar [data-artx-view-out] { width: 100%; }
	.artx-private__toolbar [data-artx-view-toggle], .artx-private__toolbar [data-artx-view-reset] { grid-column: span 3; margin: 0; }
	.artx-private__toolbar [data-artx-view-reset]::before { display: none; }
}
@media (max-height: 500px) and (min-width: 600px) {
	.artx-lightbox { padding: 8px 16px; }
	.artx-private__header h2 { font-size: 13px; }
	.artx-private__header h2 span { display: inline; margin-left: 10px; }
	.artx-private__eyebrow { margin: 0; }
	.artx-private__body { flex-direction: row; gap: 16px; padding: 2px 0; }
	.artx-private__detail { flex: 0 0 230px; align-self: center; width: auto; }
	.artx-private__detail-image { height: 100px; }
	.artx-private__detail p, .artx-private__footer #artx-private-help { display: none; }
	.artx-private__footer { padding-top: 2px; }
}
@media (prefers-reduced-motion: reduce) {
	.artx-lightbox__stage img { transition: none; }
}

.artx-lightbox__close {
	position: absolute;
	top: var(--artx-space-1);
	right: var(--artx-space-1);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--artx-color-black-100);
	cursor: pointer;
}

.artx-lightbox__close svg,
.artx-modal__close svg {
	width: 18px;
	height: 18px;
}

/* Offer and enquiry modals */
body.artx-modal-open {
	overflow: hidden;
}

.artx-modal {
	position: fixed;
	inset: 0;
	z-index: 100;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--artx-space-2);
}

.artx-modal[hidden] {
	display: none;
}

.artx-modal__backdrop {
	position: absolute;
	inset: 0;
	background: var(--artx-color-overlay);
}

.artx-modal__dialog {
	position: relative;
	width: 100%;
	max-width: 480px;
	max-height: calc(100vh - 40px);
	overflow-y: auto;
	padding: var(--artx-space-2);
	border: var(--artx-hairline);
	background: var(--artx-color-white-100);
	box-shadow: 0 2px 10px var(--artx-color-shadow-8);
}

.artx-modal__title {
	margin: 0 40px 0 0;
	font-size: var(--artx-type-lg-size);
	line-height: var(--artx-type-lg-line);
	letter-spacing: var(--artx-type-lg-tracking);
}

.artx-modal__dialog > .artx-popup-header { margin-bottom: 0; }

.artx-modal__work {
	display: flex;
	align-items: center;
	column-gap: var(--artx-space-1);
	margin-top: var(--artx-space-2);
	padding-bottom: var(--artx-space-2);
	border-bottom: var(--artx-hairline);
}

.artx-modal__thumb {
	display: block;
	flex: 0 0 auto;
	width: 60px;
	height: 60px;
	object-fit: cover;
}

.artx-modal__work-text p {
	margin: 0;
	font-size: var(--artx-type-sm-size);
	line-height: var(--artx-type-sm-tight-line);
}

.artx-modal__work-title {
	color: var(--artx-color-black-60);
}

.artx-modal__work-price {
	font-weight: var(--artx-font-weight-bold);
}

.artx-lead-form__group {
	margin: var(--artx-space-2) 0 0;
	padding: 0;
	border: 0;
}

.artx-lead-form__label {
	display: block;
	margin-bottom: var(--artx-space-0-5);
	padding: 0;
	color: var(--artx-color-black-100);
	font-size: var(--artx-type-xs-size);
	line-height: var(--artx-type-xs-line);
}

.artx-lead-form__choice {
	display: flex;
	align-items: center;
	column-gap: var(--artx-space-1);
	font-size: var(--artx-type-sm-size);
	line-height: var(--artx-type-sm-line);
	cursor: pointer;
}

.artx-lead-form__choice input,
.artx-lead-form__consent input {
	margin: 0;
	accent-color: var(--artx-color-black-100);
}

.artx-lead-form__amount {
	margin-top: var(--artx-space-1);
}

.artx-input--area {
	height: auto;
	padding: var(--artx-space-1);
	resize: vertical;
}

.artx-lead-form__consent {
	display: flex;
	align-items: flex-start;
	column-gap: var(--artx-space-1);
	margin-top: var(--artx-space-2);
	font-size: var(--artx-type-xs-size);
	line-height: var(--artx-type-xs-line);
	cursor: pointer;
}

.artx-lead-form__consent input {
	margin-top: 3px;
}

.artx-lead-form__error {
	margin: var(--artx-space-2) 0 0;
	color: var(--artx-color-black-100);
	font-size: var(--artx-type-xs-size);
	line-height: var(--artx-type-xs-line);
	font-weight: var(--artx-font-weight-bold);
}

.artx-lead-form__submit {
	margin-top: var(--artx-space-2);
}

.artx-lead-form__submit[disabled] {
	opacity: 0.5;
	cursor: wait;
}

.artx-lead-form__trap {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.artx-modal__done {
	padding-top: var(--artx-space-2);
	text-align: center;
}

.artx-modal__done-icon {
	width: 40px;
	height: 40px;
	color: var(--artx-color-black-100);
}

.artx-modal__done-title {
	margin: var(--artx-space-2) 0 0;
	font-size: var(--artx-type-lg-size);
	line-height: var(--artx-type-lg-line);
	letter-spacing: var(--artx-type-lg-tracking);
}

.artx-modal__done-text {
	margin: var(--artx-space-1) 0 0;
	color: var(--artx-color-black-60);
}

.artx-modal__done .artx-button {
	margin-top: var(--artx-space-2);
}

/* sm: the 8 + 4 split, the details under the image column */
@media (min-width: 768px) {
	.artx-artwork__media {
		grid-column: 1 / span 8;
		grid-row: 1;
	}

	.artx-artwork__sidebar {
		grid-column: 9 / span 4;
		grid-row: 1 / span 2;
		align-self: start;
		position: sticky;
		top: var(--artx-space-2);
		max-height: calc(100dvh - 2 * var(--artx-space-2));
		overflow-y: auto;
		margin-top: 0;
	}

	.artx-artwork__details {
		grid-column: 1 / span 8;
		grid-row: 2;
	}

	.artx-artwork__stage {
		padding: 0 var(--artx-space-2);
	}

	.artx-artwork__row {
		flex-direction: row;
		align-items: flex-start;
		column-gap: var(--artx-space-2);
	}

	.artx-artwork__row dt {
		flex: 0 0 var(--artx-details-term-width);
		width: auto;
	}
}

/* md: several images share one 800px stage, the image centred in it */
@media (min-width: 1280px) {
	.artx-artwork__media--multi .artx-artwork__stage {
		height: var(--artx-detail-image-max-height);
	}
}

.artx-card__identity { color: var(--artx-color-black-60); font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
/* Selected listing facts stay together without truncating catalogue wording. */
.artx-artwork__facts{border:1px solid var(--artx-color-border,#ddd);padding:16px 18px;margin-block:20px;overflow-wrap:anywhere}
.artx-artwork__facts p{margin:0 0 12px;line-height:1.5}
.artx-artwork__facts p:last-child{margin-bottom:0}
.artx-artwork__fact-label{display:block;font-size:12px;font-weight:400;color:#666;margin-bottom:3px}
.artx-artwork__estimate{font-size:13px;line-height:1.5;color:#666;margin:8px 0 20px;overflow-wrap:anywhere}
/* The store country's listing delivery charge sits with the price it completes. */
.artx-artwork__delivery{font-size:14px;line-height:1.5;margin:8px 0;overflow-wrap:anywhere}
.artx-artwork__delivery-note{font-size:13px;line-height:1.5;color:#666;margin:0 0 20px;overflow-wrap:anywhere}

/* Compact offer entry, submitted receipt and artwork sharing. */
.artx-lead-form__identity { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.artx-lead-form__identity > * { min-width:0; }
.artx-lead-form__optional summary { cursor:pointer; padding:8px 0; text-decoration:underline; }
.artx-lead-receipt { text-align:left; overflow-wrap:anywhere; }
.artx-lead-receipt > div { display:grid; grid-template-columns:100px 1fr; gap:12px; margin:12px 0; }
.artx-lead-receipt dd { margin:0; }
.artx-lead-receipt__actions { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0; }
.artx-share-preview { font-weight:600; }
.artx-action-panel .artx-button { margin:4px 0; }
.artx-about-artist { grid-column:1 / -1; min-width:0; border-top:1px solid var(--artx-color-border,#ddd); padding-top:24px; margin-top:32px; }
.artx-about-artist h2 { font-size:22px; }
.artx-about-artist__actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.artx-about-artist a { text-decoration:underline; }
@media(max-width:480px) { .artx-modal__dialog { padding:20px; } .artx-lead-form__identity { gap:8px; } .artx-lead-form__identity .artx-input { min-width:0; width:100%; } }

.artx-purchase-disclosure { border-top:1px solid #ddd; padding:16px 0; }
.artx-purchase-disclosure summary { cursor:pointer; font-weight:600; }
.artx-purchase-disclosure a { text-decoration:underline; }
.artx-action-panel [hidden], .artx-purchase-disclosure[hidden] { display:none !important; }

.artx-share-preview { display:flex; gap:12px; align-items:center; }
.artx-share-preview img { object-fit:contain; flex:none; }

@media (min-width:768px) {
 .artx-about-artist { grid-column:1 / span 8; grid-row:3; }
}

/* A failed gallery request leaves the current image and reserved stage intact. */
.artx-artwork__image-status{position:absolute;inset:auto 12px 12px;margin:0;padding:8px 12px;background:#fff;color:#171817;z-index:2;font-size:14px}
/* Return to the existing artwork options; keep content and safe areas readable. */
.artx-artwork-rail {
	position: fixed; inset-inline: 16px; bottom: max(16px, env(safe-area-inset-bottom));
	z-index: 80; display: flex; align-items: center; gap: 12px;
	width: auto; max-width: 640px; margin-inline: auto; padding: 12px 16px;
	background: #fff; color: #111; border: 1px solid #bdbdbd;
	box-shadow: 0 3px 18px #00000012; box-sizing: border-box;
}
.artx-artwork-rail[hidden] { display: none; }
.artx-artwork-rail > img { flex: 0 0 44px; width: 44px; height: 44px; object-fit: contain; }
.artx-artwork-rail__title { flex: 1; min-width: 0; font-size: 13px; line-height: 1.4; }
.artx-artwork-rail__title > * { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.artx-artwork-rail .artx-button { flex: 0 0 auto; min-height: 44px; max-width: 48%; white-space: normal; text-align: center; }
@media (max-width: 360px) {
	.artx-artwork-rail { inset-inline: 8px; gap: 8px; padding: 10px; }
	.artx-artwork-rail > img { display: none; }
}

/* Gallery contact keeps catalogue identity above the enquiry choices. */
.artx-modal__work-text { min-width:0; overflow-wrap:anywhere; }
.artx-modal__work-text .artx-modal__work-gallery { margin-top:4px; }
.artx-modal__work-text .artx-modal__work-context { color:var(--artx-color-black-60); font-size:var(--artx-type-xs-size); line-height:var(--artx-type-xs-line); }
.artx-modal__work-context:empty { display:none; }
.artx-lead-form__topics .artx-lead-form__label { margin-bottom:8px; }
.artx-lead-form__topic { display:flex; align-items:center; gap:12px; box-sizing:border-box; width:100%; min-height:56px; margin-top:12px; padding:16px; border:var(--artx-hairline); border-radius:8px; font-size:var(--artx-type-sm-size); line-height:var(--artx-type-sm-line); cursor:pointer; }
.artx-lead-form__topic input { flex:none; width:20px; height:20px; margin:0; accent-color:var(--artx-color-black-100); }
.artx-lead-form__topic input:focus-visible { outline:2px solid var(--artx-color-black-100); outline-offset:3px; }
.artx-lead-form__hint { margin:6px 0 0; color:var(--artx-color-black-60); font-size:var(--artx-type-xs-size); line-height:var(--artx-type-xs-line); }
.artx-modal [hidden] { display:none; }
.artx-artwork__seller-identity { min-width:0; overflow-wrap:anywhere; }
.artx-artwork__seller-name { display:block; margin:0; font-size:var(--artx-type-sm-size); line-height:var(--artx-type-sm-line); }
.artx-artwork__seller-city { display:block; margin:4px 0 0; color:var(--artx-color-black-60); font-size:var(--artx-type-xs-size); line-height:var(--artx-type-xs-line); }
/* Purchase claims remain separate from listing documentation. */
.artx-guarantee { padding:20px 0; border-top:var(--artx-hairline); font-size:var(--artx-type-sm-size); line-height:var(--artx-type-sm-line); }
.artx-guarantee > p { margin:0 0 16px; color:var(--artx-color-black-100); }
.artx-guarantee__claims { display:flex; flex-direction:column; gap:16px; color:var(--artx-color-black-60); margin:0; padding:0; list-style:none; }
.artx-guarantee__claims li { display:flex; align-items:center; gap:12px; min-width:0; }
.artx-guarantee__claims svg { flex:none; width:22px; height:22px; }
.artx-guarantee .artx-purchase-disclosure { margin-top:12px; border:0; padding:0; }
.artx-guarantee .artx-purchase-disclosure summary { font-weight:400; text-decoration:underline; }
.artx-guarantee .artx-purchase-disclosure > :not(summary) { margin-top:12px; }
@media(max-width:360px) { .artx-lead-form__identity { grid-template-columns:1fr; } }

[data-artx-modal="enquiry"] .artx-modal__dialog { max-width:600px; box-sizing:border-box; max-height:calc(100dvh - 40px); }
[data-artx-modal="enquiry"] .artx-modal__thumb { object-fit:contain; }
.artx-lead-form__topic:first-of-type { margin-top:0; }
@media(max-width:480px) {
 [data-artx-modal="enquiry"] { padding:12px; }
 [data-artx-modal="enquiry"] .artx-modal__dialog { max-height:calc(100dvh - 24px); }
 .artx-lead-form__topic { padding:14px; }
}
