/**
 * Product View Quick Preview — WTDS presentation.
 *
 * Theme owns this modal/interaction paint. Playground only publishes the
 * Product View behavior intent; Core remains presentation-neutral.
 */

.wapu-product-card__media-link{
	display:block;
	width:100%;
	height:100%;
	color:inherit;
	text-decoration:none;
	/* Reset para cuando es <button> */
	background:transparent;
	border:0;
	padding:0;
	margin:0;
	cursor:pointer;
	-webkit-appearance:none;
	appearance:none;
}

.wapu-product-card__media-link img,
.wapu-product-card__media-link picture{
	display:block;
	width:100%;
	height:100%;
}

/* Overlay invisible sobre la imagen del producto variable */
.wapu-product-card__media-overlay{
	position:absolute;
	inset:0;
	z-index:2;
	background:transparent;
}

.wapu-archive-qv{
	position:fixed;
	inset:0;
	z-index:1200;
	visibility:hidden;
	opacity:0;
	pointer-events:none;
	transition:opacity var(--wtds-dur) var(--wtds-ease),visibility var(--wtds-dur) var(--wtds-ease);
	/* Centrado real vertical + horizontal */
	display:flex;
	align-items:center;
	justify-content:center;
	padding:1.5rem;
}

.wapu-archive-qv.is-open{
	visibility:visible;
	opacity:1;
	pointer-events:auto;
}

.wapu-archive-qv__overlay{
	position:fixed;
	inset:0;
	border:0;
	padding:0;
	background:var(--wtds-scrim-strong);
	cursor:pointer;
	z-index:0;
}

.wapu-archive-qv__dialog{
	position:relative;
	z-index:1;
	width:min(60rem,calc(100vw - 3rem));
	max-height:min(88vh,50rem);
	margin:0;
	background:var(--wtds-surface);
	border-radius:var(--wtds-r-xl);
	box-shadow:0 1.5rem 5rem var(--wtds-shadow-color-medium);
	overflow:hidden;
}

.wapu-archive-qv__content{
	position:relative;
	min-height:20rem;
	overflow-x:hidden;
}

.wapu-archive-qv__loading,
.wapu-archive-qv__error{
	min-height:20rem;
	display:flex;
	align-items:center;
	justify-content:center;
	flex-direction:column;
	gap:var(--wtds-s-1);
	font-family:var(--wtds-font-text);
	font-size:var(--wtds-fs-footnote);
	color:var(--wtds-ink-3);
	padding:var(--wtds-s-4);
	text-align:center;
}

.wapu-archive-qv__loading-dot{
	width:1.125rem;
	height:1.125rem;
	border-radius:50%;
	background:var(--wtds-action);
	animation:wapu-archive-qv-pulse 1s ease-in-out infinite;
}

@keyframes wapu-archive-qv-pulse{
	0%,100%{transform:scale(.82);opacity:.55}
	50%{transform:scale(1);opacity:1}
}

.wapu-archive-qv__close{
	position:absolute;
	top:var(--wtds-s-2);
	right:var(--wtds-s-2);
	z-index:2;
	width:2.5rem;
	height:2.5rem;
	border-radius:var(--wtds-r-pill);
	border:0;
	background:transparent;
	color:var(--wtds-ink);
	display:inline-flex;
	align-items:center;
	justify-content:center;
	cursor:pointer;
	transition:background-color var(--wtds-dur-fast) var(--wtds-ease),transform var(--wtds-dur-fast) var(--wtds-ease);
}

.wapu-archive-qv__close:hover{
	background:var(--wtds-fill-3);
}

.wapu-archive-qv__close:active{
	transform:scale(.96);
}

.wapu-archive-qv__grid{
	display:grid;
	grid-template-columns:minmax(0,1.06fr) minmax(20rem,.94fr);
	align-items:stretch;
}

.wapu-archive-qv__media{
	background:linear-gradient(180deg,var(--wtds-fill-5),var(--wtds-surface));
	min-height:35rem;
	padding:var(--wtds-s-3);
	display:flex;
	align-items:center;
	justify-content:center;
}

.wapu-archive-qv__media img{
	display:block;
	width:100%;
	height:100%;
	max-width:100%;
	max-height:100%;
	object-fit:contain;
}

.wapu-archive-qv__body{
	display:flex;
	flex-direction:column;
	padding:var(--wtds-s-5);
	gap:var(--wtds-s-2);
}

.wapu-archive-qv__eyebrow{
	margin:0;
	font-family:var(--wtds-font-text);
	font-size:var(--wtds-fs-caption-1);
	font-weight:var(--wtds-fw-semibold);
	letter-spacing:var(--wtds-ls-wide);
	text-transform:uppercase;
	color:var(--wtds-ink-3);
}

a.wapu-archive-qv__eyebrow{
	align-self:flex-start;
	text-decoration:none;
	transition:color var(--wtds-dur-fast) var(--wtds-ease);
}

.wapu-archive-qv__eyebrow--link:hover{
	color:var(--wtds-ink);
	text-decoration:underline;
	text-underline-offset:.22em;
}

.wapu-archive-qv__eyebrow--link:focus-visible{
	outline:none;
	color:var(--wtds-ink);
	text-decoration:underline;
	text-underline-offset:.22em;
}

.wapu-archive-qv__title{
	margin:0;
	font-family:var(--wtds-font-display);
	font-size:clamp(1.375rem,2vw,2rem);
	font-weight:var(--wtds-fw-regular);
	line-height:var(--wtds-lh-tight);
	color:var(--wtds-ink);
	overflow-wrap:break-word;
	min-width:0;
}

.wapu-archive-qv__price{
	font-family:var(--wtds-font-display);
	font-size:clamp(1.125rem,1.6vw,1.5rem);
	font-weight:var(--wtds-fw-medium);
	color:var(--wtds-ink);
}

.wapu-archive-qv__price .amount{
	color:inherit;
}

.wapu-archive-qv__desc{
	margin:0;
	font-family:var(--wtds-font-text);
	font-size:var(--wtds-fs-footnote);
	line-height:var(--wtds-lh-relaxed);
	color:var(--wtds-ink-2);
}

.wapu-archive-qv__full-product{
	align-self:flex-start;
	min-height:auto;
	padding:0;
	gap:var(--wtds-s-1);
	font-family:var(--wtds-font-text);
	font-size:var(--wtds-fs-footnote);
	font-weight:var(--wtds-fw-semibold);
	color:var(--wtds-action);
	text-transform:none;
	letter-spacing:normal;
}

.wapu-archive-qv__full-product:hover{
	background:transparent;
	text-decoration:underline;
	text-underline-offset:.2em;
}

.wapu-archive-qv__full-product svg{
	transition:transform var(--wtds-dur-fast) var(--wtds-ease);
}

.wapu-archive-qv__full-product:hover svg{
	transform:translateX(.2rem);
}

.wapu-archive-qv__options{
	display:flex;
	flex-direction:column;
	gap:var(--wtds-s-1);
	padding-top:var(--wtds-s-1);
}

.wapu-archive-qv__group{
	display:flex;
	flex-direction:column;
	gap:var(--wtds-s-1);
}

.wapu-archive-qv__group + .wapu-archive-qv__group{
	padding-top:var(--wtds-s-1);
}

.wapu-archive-qv__group-head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:var(--wtds-s-1);
}

.wapu-archive-qv__options-label{
	margin:0;
	font-family:var(--wtds-font-text);
	font-size:var(--wtds-fs-caption-1);
	font-weight:var(--wtds-fw-semibold);
	letter-spacing:var(--wtds-ls-wide);
	text-transform:uppercase;
	color:var(--wtds-ink);
}

.wapu-archive-qv__group-label{
	margin:0;
	font-family:var(--wtds-font-text);
	font-size:var(--wtds-fs-caption-1);
	font-weight:var(--wtds-fw-semibold);
	letter-spacing:var(--wtds-ls-wide);
	text-transform:uppercase;
	color:var(--wtds-ink);
}

.wapu-archive-qv__options-grid{
	display:flex;
	flex-wrap:wrap;
	gap:var(--wtds-s-1);
	padding:.5rem 0;
}

.wapu-archive-qv__pills{
	display:flex;
	flex-wrap:wrap;
	gap:var(--wtds-s-1);
}

/* Fila slider: [←] [viewport] [→] */
.wapu-archive-qv__slider-row{
	display:flex;
	align-items:center;
	gap:var(--wtds-s-1);
	min-width:0;
	width:100%;
	overflow:hidden;
}

/* Viewport — clip local sin afectar al dialog */
.wapu-archive-qv__slider-viewport{
	overflow:hidden;
	flex:1;
	min-width:0;
	padding:.5rem 0;
	margin:-.5rem 0;
}

/* Flechas a los lados */
.wapu-archive-qv__slider-btn{
	flex-shrink:0;
	width:1.875rem;
	height:1.875rem;
	border-radius:50%;
	border:.5px solid var(--wtds-separator-soft);
	background:var(--wtds-surface);
	color:var(--wtds-ink);
	display:inline-flex;
	align-items:center;
	justify-content:center;
	cursor:pointer;
	transition:background .15s,opacity .15s;
	box-shadow:0 1px .25rem var(--wtds-shadow-color-soft);
}
.wapu-archive-qv__slider-btn:hover{background:var(--wtds-fill-3);}
.wapu-archive-qv__slider-btn:disabled{opacity:.25;cursor:default;box-shadow:none;}

.wapu-archive-qv__option{
	position:relative;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:.25rem;
	box-sizing:border-box; /* JS asigna width incluyendo este padding */
	border:0;
	background:transparent;
	border-radius:50%;
	cursor:pointer;
	transition:transform var(--wtds-dur-fast) var(--wtds-ease);
}

.wapu-archive-qv__option:hover{
	transform:scale(1.08);
}

.wapu-archive-qv__option.is-disabled{
	opacity:.28;
	cursor:not-allowed;
	transform:none;
}

.wapu-archive-qv__option.is-active .wapu-archive-qv__option-swatch{
	box-shadow:0 0 0 .125rem var(--wtds-surface),0 0 0 .21875rem var(--wtds-ink);
}

.wapu-archive-qv__option-swatch{
	width:3rem;
	height:3rem;
	border-radius:50%;
	display:block;
	background:var(--wtds-fill-3);
	background-size:cover;
	background-position:center;
	box-shadow:inset 0 0 0 1px var(--wtds-shadow-color-soft);
}

.wapu-archive-qv__pill{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:2.125rem !important;
	padding:0 .875rem !important;
	border:var(--wtds-border-thin) solid var(--wtds-separator) !important;
	border-radius:var(--wtds-r-pill) !important;
	background:var(--wtds-surface) !important;
	color:var(--wtds-ink) !important;
	cursor:pointer;
	box-shadow:none !important;
	width:auto !important;
	min-width:0 !important;
	font-family:var(--wtds-font-text) !important;
	font-size:var(--wtds-fs-footnote) !important;
	font-weight:var(--wtds-fw-medium) !important;
	letter-spacing:0 !important;
	line-height:1 !important;
	text-transform:none !important;
	text-decoration:none !important;
	transition:border-color var(--wtds-dur-fast) var(--wtds-ease),background var(--wtds-dur-fast) var(--wtds-ease),color var(--wtds-dur-fast) var(--wtds-ease),opacity var(--wtds-dur-fast) var(--wtds-ease),transform var(--wtds-dur-fast) var(--wtds-ease);
}

.wapu-archive-qv__pill:hover{
	background:var(--wtds-fill-4) !important;
	border-color:var(--wtds-ink-4) !important;
}

.wapu-archive-qv__pill.is-active{
	border-color:var(--wtds-ink) !important;
	background:var(--wtds-fill-3) !important;
	color:var(--wtds-ink) !important;
	box-shadow:0 0 0 1px var(--wtds-ink) !important;
}

.wapu-archive-qv__pill:focus-visible{
	outline:none;
	box-shadow:var(--wtds-shadow-focus) !important;
}

.wapu-archive-qv__pill.is-disabled{
	opacity:.35;
	cursor:not-allowed;
}

.wapu-archive-qv__pill-text{
	font-family:inherit;
	font-size:inherit;
	font-weight:inherit;
	letter-spacing:inherit;
	text-transform:inherit;
	color:inherit;
	white-space:nowrap;
}

/* Tooltip — manejado por JS (append al body para escapar overflow:hidden) */
#wapu-qv-swatch-tip{
	position:fixed;
	z-index:2147483647;
	background:var(--wtds-ink);
	color:var(--wtds-surface);
	font-family:var(--wtds-font-text);
	font-size:.6875rem;
	font-weight:var(--wtds-fw-medium);
	line-height:1.3;
	padding:.3125rem .5rem;
	border-radius:var(--wtds-r-sm);
	pointer-events:none;
	opacity:0;
	transition:opacity .15s ease;
	max-width:8.75rem;
	text-align:center;
	transform:translateX(-50%);
	white-space:normal;
}

.wapu-archive-qv__actions{
	display:flex;
	flex-direction:column;
	gap:var(--wtds-s-1);
	margin-top:auto;
	padding-top:var(--wtds-s-2);
}

.wapu-archive-qv__primary{
	min-height:2.75rem;
	background:var(--wtds-primary) !important;
	color:var(--wtds-primary-ink) !important;
	border-color:var(--wtds-primary) !important;
	border-radius:var(--wtds-r-pill) !important;
	font-size:var(--wtds-fs-footnote) !important;
	font-weight:var(--wtds-fw-semibold) !important;
	letter-spacing:.04em !important;
}

.wapu-archive-qv__primary:hover{
	opacity:.88;
}

.wapu-archive-qv__more{
	align-self:center;
	font-family:var(--wtds-font-text);
	font-size:var(--wtds-fs-footnote);
	font-weight:var(--wtds-fw-medium);
	color:var(--wtds-ink);
	text-decoration:underline;
	text-underline-offset:.25rem;
}

/* ── Tablet: dialog centrado, columna única ──────────────────────────── */
@media (max-width: 48rem){
	.wapu-product-card__cta[data-cta-type^="select_"]{
		display:inline-flex !important;
	}

	/* Bottom sheet: se ancla al borde inferior */
	.wapu-archive-qv{
		align-items:flex-end;
		padding:0;
	}

	body.wapu-has-mobile-bottom-nav .wapu-archive-qv{
		padding-bottom:calc(var(--wapu-mobile-appbar-height, 0px) - 1.5rem);
	}

	.wapu-archive-qv__dialog{
		width:100%;
		max-height:min(88vh,88svh);
		margin:0;
		border-radius:var(--wtds-r-xl) var(--wtds-r-xl) 0 0;
	}

	body.wapu-has-mobile-bottom-nav .wapu-archive-qv__dialog{
		max-height:min(
			calc(88vh - var(--wapu-mobile-appbar-height, 0px) + 1.5rem),
			calc(88svh - var(--wapu-mobile-appbar-height, 0px) + 1.5rem)
		);
	}

	/* Permitir scroll vertical dentro del diálogo; bloquear horizontal (slider) */
	.wapu-archive-qv__content{
		overflow-y:auto;
		overflow-x:hidden;
		max-height:inherit;
	}

	.wapu-archive-qv__grid{
		grid-template-columns:minmax(0,1fr);
	}

	.wapu-archive-qv__media{
		min-height:13.75rem;
		padding:var(--wtds-s-2);
	}

	.wapu-archive-qv__body{
		padding:var(--wtds-s-3);
		gap:var(--wtds-s-2);
	}

	.wapu-archive-qv__title{
		font-size:clamp(1.25rem,5vw,1.625rem);
	}

	.wapu-archive-qv__price{
		font-size:clamp(1.0625rem,4.5vw,1.375rem);
	}

	.wapu-archive-qv__option-swatch{
		width:2.75rem;
		height:2.75rem;
	}

	/* Acciones pegadas al fondo, respetan safe-area (notch) */
	.wapu-archive-qv__actions{
		position:sticky;
		bottom:0;
		background:var(--wtds-surface);
		padding:var(--wtds-s-2) var(--wtds-s-3) max(var(--wtds-s-2), env(safe-area-inset-bottom));
		margin:0 calc(var(--wtds-s-3) * -1);
		border-top:.5px solid var(--wtds-separator-soft);
	}

	/* Lista grande: altura más compacta en tablet */
	.wapu-archive-qv__options-grid.is-large-catalog{
		max-height:10rem;
	}
}

/* ── Mobile pequeño: imagen oculta, layout ultracompacto ─────────────── */
@media (max-width: 30rem){
	.wapu-archive-qv__dialog{
		max-height:min(92vh,92svh);
	}

	body.wapu-has-mobile-bottom-nav .wapu-archive-qv__dialog{
		max-height:min(
			calc(92vh - var(--wapu-mobile-appbar-height, 0px) + 1.5rem),
			calc(92svh - var(--wapu-mobile-appbar-height, 0px) + 1.5rem)
		);
	}

	/* Ocultar imagen para ganar espacio en la pantalla */
	.wapu-archive-qv__media{
		display:none;
	}

	.wapu-archive-qv__body{
		padding:var(--wtds-s-2);
	}

	.wapu-archive-qv__actions{
		padding-left:var(--wtds-s-2);
		padding-right:var(--wtds-s-2);
		margin-left:calc(var(--wtds-s-2) * -1);
		margin-right:calc(var(--wtds-s-2) * -1);
	}

	.wapu-archive-qv__option-swatch{
		width:2.5rem;
		height:2.5rem;
	}

	/* Lista grande: altura aún más compacta en móvil */
	.wapu-archive-qv__options-grid.is-large-catalog{
		max-height:8.125rem;
	}
}

/* ── Options head: label + count en la misma línea ──────────────────── */
.wapu-archive-qv__options-head{
	display:flex;
	align-items:baseline;
	justify-content:space-between;
	gap:var(--wtds-s-1);
}

.wapu-archive-qv__options-count{
	font-family:var(--wtds-font-text);
	font-size:var(--wtds-fs-caption-2);
	color:var(--wtds-ink-3);
	white-space:nowrap;
	flex-shrink:0;
}

/* ── Option name: oculto en modo swatches, visible en lista ─────────── */
.wapu-archive-qv__option-name{
	display:none;
}

/* ── Large catalog (≥12): lista vertical con scroll ──────────────────── */
.wapu-archive-qv__options-grid.is-large-catalog{
	flex-direction:column;
	flex-wrap:nowrap;
	gap:.125rem;
	padding:0;
	max-height:13.5rem;
	overflow-y:auto;
	scrollbar-width:thin;
	scrollbar-color:var(--wtds-separator) transparent;
}

.wapu-archive-qv__options-grid.is-large-catalog::-webkit-scrollbar{
	width:.25rem;
}

.wapu-archive-qv__options-grid.is-large-catalog::-webkit-scrollbar-thumb{
	background:var(--wtds-separator);
	border-radius:.125rem;
}

.is-large-catalog .wapu-archive-qv__option{
	width:100%;
	border-radius:var(--wtds-r-sm);
	justify-content:flex-start;
	gap:var(--wtds-s-1);
	padding:.375rem .5rem;
	text-align:left;
}

.is-large-catalog .wapu-archive-qv__option:hover{
	background:var(--wtds-fill-3);
	transform:none;
}

.is-large-catalog .wapu-archive-qv__option.is-active{
	background:var(--wtds-fill-2);
}

.is-large-catalog .wapu-archive-qv__option-swatch{
	width:1.75rem;
	height:1.75rem;
	flex-shrink:0;
}

.is-large-catalog .wapu-archive-qv__option-name{
	display:block;
	font-family:var(--wtds-font-text);
	font-size:var(--wtds-fs-footnote);
	font-weight:var(--wtds-fw-medium);
	color:var(--wtds-ink);
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}

/* ==========================================================================\n   Wapuos8 · Quick View control consistency\n   ========================================================================== */
.wapu-archive-qv__close,
.wapu-archive-qv__slider-btn {
  width: var(--wtds-control-compact);
  height: var(--wtds-control-compact);
  min-width: var(--wtds-control-compact);
  min-height: var(--wtds-control-compact);
  border-radius: var(--wtds-control-radius);
}
.wapu-archive-qv__close:focus-visible,
.wapu-archive-qv__slider-btn:focus-visible {
  outline: none;
  box-shadow: var(--wtds-shadow-focus);
}

/* ==========================================================================
   Wapuos8 · Quick View option interaction consistency
   ========================================================================== */
.wapu-archive-qv__pill,
.is-large-catalog .wapu-archive-qv__option {
  min-height: var(--wtds-control-min) !important;
}
.wapu-archive-qv__pill { border-radius: var(--wtds-button-radius, var(--wtds-control-radius)) !important; }
.wapu-archive-qv__option:focus-visible,
.wapu-archive-qv__pill:focus-visible {
  outline: none;
  box-shadow: var(--wtds-shadow-focus);
}



/* 7.7.40 · Quick View mirrors Single Product interaction language. */
.wapu-archive-qv__option-swatch {
	width: 3.5rem;
	height: 3.5rem;
}

.wapu-archive-qv__pill {
	min-height: var(--wtds-control-min) !important;
	border-radius: var(--wtds-control-radius) !important;
}

.wapu-archive-qv__primary {
	background: var(--wtds-action) !important;
	color: var(--wtds-action-ink) !important;
	border-color: var(--wtds-action) !important;
	border-radius: var(--wtds-button-radius) !important;
}

.wapu-archive-qv__availability {
	display: inline-flex;
	align-items: center;
	gap: var(--wtds-s-1);
	margin: 0;
	font-family: var(--wtds-font-text);
	font-size: var(--wtds-fs-subhead);
	font-weight: var(--wtds-fw-medium);
	color: var(--wtds-on-surface-muted);
}

.wapu-archive-qv__availability[hidden] { display: none !important; }

.wapu-archive-qv__availability-dot {
	position: relative;
	display: inline-block;
	width: .5rem;
	height: .5rem;
	flex: 0 0 .5rem;
	border-radius: 50%;
	background: var(--wtds-on-surface-subtle);
	box-shadow: 0 0 0 .1875rem color-mix(in srgb, currentColor 8%, transparent);
}

.wapu-archive-qv__availability-dot::after {
	content: "";
	position: absolute;
	inset: -.1875rem;
	border-radius: inherit;
	background: radial-gradient(circle at 30% 25%, color-mix(in srgb, white 72%, transparent) 0 8%, transparent 26%);
	pointer-events: none;
}

.wapu-archive-qv__availability.is-available,
.wapu-archive-qv__availability.is-in_stock,
.wapu-archive-qv__availability.is-in-stock { color: var(--wtds-success); }
.wapu-archive-qv__availability.is-low_stock,
.wapu-archive-qv__availability.is-low-stock,
.wapu-archive-qv__availability.is-preorder { color: var(--wtds-warning); }
.wapu-archive-qv__availability.is-unavailable,
.wapu-archive-qv__availability.is-out_of_stock,
.wapu-archive-qv__availability.is-out-of-stock { color: var(--wtds-danger); }
.wapu-archive-qv__availability-dot { background: currentColor; }

.wapu-archive-qv__purchase {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wtds-s-2);
	margin-top: var(--wtds-s-1);
}

.wapu-archive-qv__purchase-label {
	font-family: var(--wtds-font-text);
	font-size: var(--wtds-fs-subhead);
	font-weight: var(--wtds-fw-medium);
	color: var(--wtds-on-surface);
}

.wapu-archive-qv__qty { flex: 0 0 auto; }

@media (max-width: 48rem) {
	/* Product Cards stay clean on mobile: variations live only in Quick View. */
	.wapu-product-card__cta[data-cta-type^="select_"] {
		display: none !important;
	}

	.wapu-archive-qv__option-swatch {
		width: 3.25rem;
		height: 3.25rem;
	}

	.wapu-archive-qv__purchase {
		align-items: stretch;
		flex-direction: column;
	}
}

.wapu-archive-qv__primary.is-disabled,
.wapu-archive-qv__primary[aria-disabled="true"] {
	opacity: var(--wtds-state-disabled-opacity);
	cursor: not-allowed;
	pointer-events: none;
}

/* 7.7.43 · Quick View = compact Single Product purchase surface. */
.wapu-archive-qv__content {
	max-height: inherit;
	overflow-y: auto;
	overflow-x: hidden;
}

.wapu-archive-qv__media {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 4.5rem;
	align-items: start;
	gap: var(--wtds-s-1);
	min-height: 0;
	padding: var(--wtds-s-3);
	background: var(--wtds-surface);
}

.wapu-archive-qv__gallery-main {
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	min-width: 0;
	overflow: hidden;
	border-radius: var(--wtds-r-md);
	background: var(--wtds-surface-2);
}

.wapu-archive-qv__gallery-media {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	border: 0;
	object-fit: contain;
	object-position: center;
	background: transparent;
}

.wapu-archive-qv__gallery-thumbs {
	display: flex;
	flex-direction: column;
	gap: .5rem;
	min-width: 0;
	max-height: min(31rem, 66vh);
	overflow-y: auto;
	scrollbar-width: none;
}

.wapu-archive-qv__gallery-thumbs::-webkit-scrollbar { display: none; }
.wapu-archive-qv__gallery-thumbs[hidden] { display: none !important; }

.wapu-archive-qv__gallery-thumb {
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	flex: 0 0 auto;
	padding: 0;
	overflow: hidden;
	border: var(--wtds-border-thin) solid transparent;
	border-radius: var(--wtds-r-md);
	background: var(--wtds-surface-2);
	cursor: pointer;
	filter: grayscale(100%) contrast(1.05);
	opacity: .58;
	transition: filter var(--wtds-dur-fast) var(--wtds-ease), opacity var(--wtds-dur-fast) var(--wtds-ease), border-color var(--wtds-dur-fast) var(--wtds-ease);
}

.wapu-archive-qv__gallery-thumb:hover {
	filter: grayscale(35%) contrast(1.02);
	opacity: .82;
}

.wapu-archive-qv__gallery-thumb.is-active {
	border-color: var(--wtds-ink);
	filter: grayscale(0%);
	opacity: 1;
}

.wapu-archive-qv__gallery-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wapu-archive-qv__gallery-play {
	position: absolute;
	inset: 50% auto auto 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: var(--wtds-r-pill);
	background: var(--wtds-surface-translucent);
	color: var(--wtds-ink);
	transform: translate(-50%, -50%);
	pointer-events: none;
}

.wapu-archive-qv__body {
	min-width: 0;
	align-self: start;
}

.wapu-archive-qv__desc {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}

.wapu-archive-qv__actions {
	padding-top: var(--wtds-s-1);
}

@media (max-width: 48rem) {
	.wapu-archive-qv__media {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto auto;
		gap: var(--wtds-s-1);
		padding: var(--wtds-s-2) var(--wtds-s-3) 0;
	}

	.wapu-archive-qv__gallery-main {
		max-height: 20rem;
	}

	.wapu-archive-qv__gallery-thumbs {
		flex-direction: row;
		max-height: none;
		overflow-x: auto;
		overflow-y: hidden;
	}

	.wapu-archive-qv__gallery-thumb {
		width: 3.5rem;
		flex: 0 0 3.5rem;
	}
}

@media (max-width: 30rem) {
	/* Keep the compact gallery visible: Quick View is now a mini Single, not a text-only sheet. */
	.wapu-archive-qv__media {
		display: grid;
		padding-inline: var(--wtds-s-2);
	}

	.wapu-archive-qv__gallery-main {
		max-height: 15rem;
	}

	.wapu-archive-qv__gallery-thumb {
		width: 3rem;
		flex-basis: 3rem;
	}
}

/* 7.7.48 · Quick View minimal purchase surface — Single visual language. */
.wapu-archive-qv__dialog {
	width: min(52rem, calc(100vw - clamp(1rem, 4vw, 3rem)));
	max-height: min(86svh, 44rem);
	border-radius: clamp(.75rem, 1.5vw, 1rem);
}

.wapu-archive-qv__grid {
	/* grid-template-columns intentionally inherited from the canonical Quick View grid. */
	align-items: stretch;
}

.wapu-archive-qv__media {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 0;
	padding: clamp(.75rem, 2vw, 1.25rem);
	background: var(--wtds-surface-container-lowest);
}

.wapu-archive-qv__main-image {
	position: relative;
	inline-size: min(100%, 18rem);
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: var(--wtds-r-md);
	background: var(--wtds-surface-2);
}

.wapu-archive-qv__main-img,
.wapu-archive-qv__main-image img {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	max-inline-size: none;
	object-fit: contain;
	object-position: center;
}

/* Legacy gallery UI is intentionally absent in the minimal Quick View. */
.wapu-archive-qv__gallery-main,
.wapu-archive-qv__gallery-thumbs,
.wapu-archive-qv__availability,
.wapu-archive-qv__eyebrow {
	display: none !important;
}

.wapu-archive-qv__body {
	min-width: 0;
	padding: clamp(1rem, 2.4vw, 1.5rem);
	gap: clamp(.5rem, 1vw, .75rem);
	align-self: stretch;
}

.wapu-archive-qv__title {
	font-size: clamp(1.125rem, 1.8vw, 1.5rem);
	font-weight: var(--wtds-fw-heading);
	line-height: 1.18;
	letter-spacing: -.015em;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.wapu-archive-qv__price {
	font-size: clamp(1rem, 1.45vw, 1.25rem);
	line-height: 1.12;
}

.wapu-archive-qv__desc {
	max-width: 38rem;
	font-size: clamp(.75rem, 1vw, .875rem);
	line-height: 1.5;
	-webkit-line-clamp: 3;
}

.wapu-archive-qv__full-product {
	font-size: clamp(.75rem, .9vw, .8125rem);
	font-weight: var(--wtds-fw-semibold);
	min-height: 1.75rem;
}

.wapu-archive-qv__options {
	gap: .5rem;
	padding-top: .25rem;
	min-width: 0;
}

.wapu-archive-qv__options-head,
.wapu-archive-qv__group-head {
	gap: .5rem;
}

.wapu-archive-qv__options-label,
.wapu-archive-qv__group-label {
	font-size: clamp(.6875rem, .9vw, .75rem);
	font-weight: var(--wtds-fw-ui);
	letter-spacing: 0;
	text-transform: none;
}

.wapu-archive-qv__options-count {
	font-size: clamp(.625rem, .8vw, .6875rem);
}

/* Primary variation circles mirror Single Product tiles. */
.wapu-archive-qv__options-grid {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: var(--wtds-s-1);
	padding: .25rem 0;
	min-width: 0;
}

.wapu-archive-qv__option {
	position: relative;
	inline-size: 3.5rem;
	block-size: 3.5rem;
	flex: 0 0 auto;
	padding: 0;
	border: var(--wtds-border-thin) solid var(--wtds-outline);
	border-radius: 50%;
	background: var(--wtds-surface-container-lowest);
	box-shadow: none;
	overflow: hidden;
	transform: none;
	transition: border-color var(--wtds-dur-fast) var(--wtds-ease), background-color var(--wtds-dur-fast) var(--wtds-ease), opacity var(--wtds-dur-fast) var(--wtds-ease), transform var(--wtds-dur-fast) var(--wtds-ease);
}

.wapu-archive-qv__option:hover:not(:disabled) {
	border-color: var(--wtds-state-hover-border);
	background: var(--wtds-state-hover-bg);
	transform: scale(1.025);
}

.wapu-archive-qv__option.is-active,
.wapu-archive-qv__option[aria-selected="true"] {
	border-color: var(--wtds-state-selected-border);
	box-shadow: inset 0 0 0 var(--wtds-border-thin) var(--wtds-state-selected-border);
}

.wapu-archive-qv__option:disabled,
.wapu-archive-qv__option.is-disabled {
	opacity: var(--wtds-state-disabled-opacity, .42);
	filter: grayscale(1);
	cursor: not-allowed;
	transform: none;
}

.wapu-archive-qv__option-swatch {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	border-radius: inherit;
	background-color: var(--wtds-surface-container);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	box-shadow: none;
}

.wapu-archive-qv__option.is-active .wapu-archive-qv__option-swatch {
	box-shadow: none;
}

/* Secondary attributes mirror Single Product compact chips. */
.wapu-archive-qv__pills {
	display: flex;
	flex-wrap: nowrap;
	gap: var(--wtds-s-1);
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.wapu-archive-qv__pills::-webkit-scrollbar { display: none; }

.wapu-archive-qv__pill {
	min-height: var(--wtds-control-compact) !important;
	padding: 0 var(--wtds-s-2) !important;
	border: var(--wtds-border-thin) solid var(--wtds-outline-soft) !important;
	border-radius: var(--wtds-control-radius) !important;
	background: var(--wtds-surface-container-lowest) !important;
	font-size: clamp(.6875rem, .9vw, .75rem) !important;
	font-weight: var(--wtds-fw-ui) !important;
	white-space: nowrap;
}

.wapu-archive-qv__pill.is-active,
.wapu-archive-qv__pill[aria-selected="true"] {
	border-color: var(--wtds-state-selected-border) !important;
	background: var(--wtds-state-selected-bg) !important;
	color: var(--wtds-state-selected-text) !important;
	box-shadow: none !important;
}

.wapu-archive-qv__slider-row {
	gap: .375rem;
}

.wapu-archive-qv__slider-btn {
	inline-size: 2rem;
	block-size: 2rem;
	min-inline-size: 2rem;
	min-block-size: 2rem;
	border-radius: var(--wtds-control-radius);
	box-shadow: none;
}

.wapu-archive-qv__slider-viewport {
	padding: .25rem 0;
	margin: -.25rem 0;
}

.wapu-archive-qv__purchase {
	gap: .75rem;
	margin-top: .25rem;
}

.wapu-archive-qv__purchase-label {
	font-size: clamp(.75rem, .95vw, .8125rem);
}

.wapu-archive-qv__qty {
	grid-template-columns: 2.25rem minmax(2.75rem, auto) 2.25rem;
	min-block-size: 2.25rem;
}

.wapu-archive-qv__qty .wapu-quantity__button,
.wapu-archive-qv__qty .wapu-quantity__input {
	block-size: 2.25rem;
	min-block-size: 2.25rem;
}

.wapu-archive-qv__qty .wapu-quantity__button {
	inline-size: 2.25rem;
	min-inline-size: 2.25rem;
}

.wapu-archive-qv__qty .wapu-quantity__input {
	font-size: .8125rem;
}

.wapu-archive-qv__actions {
	margin-top: .125rem;
	padding-top: .375rem;
}

.wapu-archive-qv__primary {
	min-height: 2.5rem;
	border-radius: var(--wtds-button-radius) !important;
	font-size: clamp(.75rem, .95vw, .8125rem) !important;
	letter-spacing: 0 !important;
}

@media (max-width: 48rem) {
	.wapu-archive-qv__dialog {
		max-height: min(90svh, 42rem);
	}

	.wapu-archive-qv__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.wapu-archive-qv__media {
		min-height: 0;
		padding: .75rem 3.25rem .25rem;
	}

	.wapu-archive-qv__main-image {
		inline-size: min(100%, 10rem);
	}

	.wapu-archive-qv__body {
		padding: .75rem 1rem max(1rem, env(safe-area-inset-bottom));
		gap: .5rem;
	}

	.wapu-archive-qv__title {
		font-size: clamp(1.0625rem, 4vw, 1.25rem);
	}

	.wapu-archive-qv__price {
		font-size: clamp(.9375rem, 3.5vw, 1.125rem);
	}

	.wapu-archive-qv__option {
		inline-size: 3.25rem;
		block-size: 3.25rem;
	}

	.wapu-archive-qv__purchase {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}

	.wapu-archive-qv__actions {
		position: static;
		padding: .375rem 0 0;
		margin: 0;
		border-top: 0;
	}
}

@media (max-width: 30rem) {
	.wapu-archive-qv__media {
		display: flex;
		padding-top: .625rem;
	}

	.wapu-archive-qv__main-image {
		inline-size: min(100%, 7.5rem);
	}

	.wapu-archive-qv__option {
		inline-size: 3rem;
		block-size: 3rem;
	}
}

/* 7.7.51 · Quick View mobile compact purchase header. */
.wapu-archive-qv__mobile-head { display: none; }

@media (max-width: 47.9375rem) {
	.wapu-archive-qv__mobile-head {
		display: grid;
		grid-template-columns: 3.75rem minmax(0, 1fr);
		align-items: center;
		gap: .75rem;
		padding: .875rem 3.25rem .625rem 1rem;
		border-bottom: var(--wtds-border-hairline) solid var(--wtds-separator-soft);
		background: var(--wtds-surface);
	}
	.wapu-archive-qv__mobile-head-media {
		inline-size: 3.75rem;
		block-size: 3.75rem;
		border-radius: var(--wtds-control-radius);
		overflow: hidden;
		background: var(--wtds-surface-container-low);
	}
	.wapu-archive-qv__mobile-head-media img {
		display: block;
		inline-size: 100%;
		block-size: 100%;
		object-fit: cover;
	}
	.wapu-archive-qv__mobile-head-copy {
		display: flex;
		flex-direction: column;
		gap: .1875rem;
		min-width: 0;
	}
	.wapu-archive-qv__mobile-head-title {
		margin: 0;
		font-family: var(--wtds-font-text);
		font-size: clamp(.8125rem, 3.4vw, .9375rem);
		font-weight: var(--wtds-fw-semibold);
		line-height: 1.25;
		color: var(--wtds-ink);
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	.wapu-archive-qv__mobile-head-price {
		font-family: var(--wtds-font-text);
		font-size: clamp(.75rem, 3.2vw, .875rem);
		font-weight: var(--wtds-fw-semibold);
		line-height: 1.2;
		color: var(--wtds-ink);
	}
	/* The compact head replaces the tall image/title/price stack only on mobile. */
	.wapu-archive-qv__media,
	.wapu-archive-qv__body > .wapu-archive-qv__title,
	.wapu-archive-qv__body > .wapu-archive-qv__price {
		display: none;
	}
	.wapu-archive-qv__body {
		padding-top: .625rem;
	}
}


/* 7.7.74 · Quick View: desktop keeps shared content; mobile becomes a data sheet. */
@media (max-width: 47.9375rem) {
	.wapu-archive-qv { align-items: flex-end; justify-content: center; padding: 0; }
	.wapu-archive-qv__dialog {
		width: 100%;
		max-width: none;
		max-height: min(92dvh, 48rem);
		margin: 0;
		border-radius: 1rem 1rem 0 0;
		box-shadow: 0 -.25rem 1.75rem var(--wtds-shadow-color-soft);
	}
	.wapu-archive-qv__dialog::before {
		content: '';
		display: block;
		width: 2.5rem;
		height: .3125rem;
		margin: .5rem auto .125rem;
		border-radius: var(--wtds-r-pill);
		background: var(--wtds-outline-soft);
	}
	.wapu-archive-qv__content { max-height: calc(92dvh - 1rem); overflow-y: auto; overscroll-behavior: contain; }
	.wapu-archive-qv__purchase-label { display: none !important; }
	.wapu-archive-qv__purchase { width: 100%; }
	.wapu-archive-qv__qty { width: 100%; flex: 1 1 100%; grid-template-columns: 2.25rem minmax(0, 1fr) 2.25rem; }
}


/* 7.7.77 · Quick View variation carousel: touch-first mobile + visible arrow affordances. */
.wapu-archive-qv__option {
	min-inline-size: 4rem;
	min-block-size: 4rem;
	block-size: auto !important;
	aspect-ratio: 1 / 1;
}
.wapu-archive-qv__option-swatch {
	inline-size: 100% !important;
	block-size: 100% !important;
	aspect-ratio: 1 / 1;
}
.wapu-archive-qv__slider-viewport { touch-action: pan-y; }

@media (max-width: 47.9375rem) {
	.wapu-archive-qv__option {
		min-inline-size: 3.75rem;
		min-block-size: 3.75rem;
	}
	/* Mobile keeps both affordances: swipe gesture + visible arrows. */
	.wapu-archive-qv__slider-btn {
		display: inline-flex;
		inline-size: 2rem;
		block-size: 2rem;
		min-inline-size: 2rem;
	}
	.wapu-archive-qv__slider-row { gap: .375rem; }
	.wapu-archive-qv__slider-viewport { inline-size: auto; flex: 1 1 auto; min-inline-size: 0; overflow: hidden; }
}


/* 7.7.87 · Quick View visual proportions.
 * Reuses the current Quick View behavior and markup; only restores the roomier desktop composition
 * from the previous Theme language. Mobile remains the current bottom-sheet implementation. */
@media (min-width: 48rem) {
  .wapu-archive-qv {
    padding: var(--wtds-s-3);
  }

  .wapu-archive-qv__dialog {
    width: min(60rem, calc(100vw - 3rem));
    max-height: min(88vh, 50rem);
    border-radius: var(--wtds-r-xl);
    box-shadow: var(--wtds-shadow-xl);
  }

  .wapu-archive-qv__grid {
    grid-template-columns: minmax(0, 1.06fr) minmax(20rem, .94fr);
    align-items: stretch;
  }

  .wapu-archive-qv__media {
    min-height: 35rem;
    padding: var(--wtds-s-3);
    background: linear-gradient(180deg, var(--wtds-surface-container-low), var(--wtds-surface));
  }

  .wapu-archive-qv__main-image {
    inline-size: min(100%, 32rem);
    max-inline-size: 32rem;
    aspect-ratio: 1;
    border-radius: var(--wtds-r-md);
  }

  .wapu-archive-qv__body {
    padding: var(--wtds-s-5);
    gap: var(--wtds-s-2);
  }

  .wapu-archive-qv__title {
    font-size: clamp(1.375rem, 2vw, 2rem);
    font-weight: var(--wtds-fw-regular);
    line-height: var(--wtds-lh-tight);
    letter-spacing: var(--wtds-ls-tight);
    -webkit-line-clamp: 3;
  }

  .wapu-archive-qv__price {
    font-size: clamp(1.125rem, 1.6vw, 1.5rem);
    font-weight: var(--wtds-fw-medium);
  }

  .wapu-archive-qv__desc {
    font-size: var(--wtds-fs-footnote);
    line-height: var(--wtds-lh-relax);
    -webkit-line-clamp: 4;
  }

  .wapu-archive-qv__options {
    gap: var(--wtds-s-1);
    padding-top: var(--wtds-s-1);
  }

  .wapu-archive-qv__options-label,
  .wapu-archive-qv__group-label {
    font-size: var(--wtds-fs-caption-1);
    font-weight: var(--wtds-fw-semibold);
    letter-spacing: var(--wtds-ls-wide);
    text-transform: uppercase;
  }

  .wapu-archive-qv__options-grid {
    gap: var(--wtds-s-1);
    padding-block: var(--wtds-s-1);
  }

  .wapu-archive-qv__option {
    min-inline-size: 3rem;
    min-block-size: 3rem;
    inline-size: 3rem;
    block-size: 3rem !important;
    aspect-ratio: 1;
    padding: .25rem;
    border: 0;
    background: transparent;
    overflow: visible;
  }

  .wapu-archive-qv__option:hover:not(:disabled) {
    background: transparent;
    transform: scale(1.08);
  }

  .wapu-archive-qv__option-swatch {
    inline-size: 3rem !important;
    block-size: 3rem !important;
    border-radius: 50%;
    box-shadow: inset 0 0 0 1px var(--wtds-outline-soft);
  }

  .wapu-archive-qv__option.is-active .wapu-archive-qv__option-swatch,
  .wapu-archive-qv__option[aria-selected="true"] .wapu-archive-qv__option-swatch {
    box-shadow: 0 0 0 .125rem var(--wtds-surface), 0 0 0 .21875rem var(--wtds-on-surface);
  }

  .wapu-archive-qv__pill {
    min-height: 2.125rem !important;
    padding-inline: .875rem !important;
    border-radius: var(--wtds-r-pill) !important;
    font-size: var(--wtds-fs-footnote) !important;
    font-weight: var(--wtds-fw-medium) !important;
  }

  .wapu-archive-qv__actions {
    gap: var(--wtds-s-1);
    padding-top: var(--wtds-s-2);
  }
}


/* 7.7.90 · Quick View desktop purchase polish + canonical variation state. */
@media (min-width: 48rem) {
  .wapu-archive-qv__purchase {
    inline-size: 100%;
    align-items: stretch;
  }

  .wapu-archive-qv__purchase-label {
    display: none !important;
  }

  .wapu-archive-qv__qty {
    inline-size: 100%;
    flex: 1 1 100%;
    grid-template-columns: 2.25rem minmax(0, 1fr) 2.25rem;
  }

  .wapu-archive-qv__qty .wapu-quantity__button {
    inline-size: 2.25rem;
    min-inline-size: 2.25rem;
    block-size: 2.25rem;
    min-block-size: 2.25rem;
    border-radius: 50% !important;
  }

  .wapu-archive-qv__qty .wapu-quantity__input {
    inline-size: 100%;
    min-inline-size: 0;
  }

  .wapu-archive-qv__actions {
    margin-top: .125rem;
    gap: var(--wtds-s-1);
  }

  .wapu-archive-qv__full-product {
    align-self: center;
    justify-content: center;
  }
}

/* Selected variation uses the canonical WTDS action blue, never a second black ring. */
.wapu-archive-qv__option.is-active .wapu-archive-qv__option-swatch,
.wapu-archive-qv__option[aria-selected="true"] .wapu-archive-qv__option-swatch {
  box-shadow: 0 0 0 .125rem var(--wtds-surface), 0 0 0 .21875rem var(--wtds-action) !important;
}

.wapu-archive-qv__pill.is-active,
.wapu-archive-qv__pill[aria-selected="true"] {
  border-color: var(--wtds-action) !important;
  background: var(--wtds-action-soft) !important;
  color: var(--wtds-action) !important;
  box-shadow: 0 0 0 1px var(--wtds-action) !important;
}

/* 7.7.138 · Quick View content inside the canonical WTDS dialog/data-sheet. */
.wapu-archive-qv__canonical-panel {
	width: min(60rem, calc(100vw - 3rem));
	max-height: min(88dvh, 50rem);
}
.wapu-archive-qv__content.wapu-dialog__body {
	position: relative;
	min-height: 0;
	padding: 0;
	overflow: auto;
}
@media (max-width: 47.9375rem) {
	.wapu-archive-qv__canonical-panel {
		width: 100%;
		max-width: none;
	}
	.wapu-archive-qv__content.wapu-dialog__body {
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
	}
}

/* 7.7.140 · Quick View stays hidden until its final payload is ready. */
[data-wapu-qv-trigger].is-wapu-qv-loading {
	cursor: progress;
}
