.rvx-stock-overlay {
	position: fixed; inset: 0; z-index: 2147483000;
	background: rgba(0,0,0,.55);
	display: flex; align-items: center; justify-content: center;
	padding: 16px;
	opacity: 0; visibility: hidden;
	transition: opacity .2s ease, visibility .2s ease;
}
.rvx-stock-overlay.is-visible { opacity: 1; visibility: visible; }

.rvx-stock-dialog {
	background: #fff; color: #000;
	width: 100%; max-width: 640px;
	border-radius: 16px; padding: 20px;
	box-shadow: 0 10px 40px rgba(0,0,0,.25);
	transform: translateY(8px); transition: transform .25s ease;
	font-family: inherit;
	max-height: calc(100vh - 32px); overflow-y: auto;
}
.rvx-stock-overlay.is-visible .rvx-stock-dialog { transform: none; }

.rvx-stock-title { margin: 0 0 14px; font-size: 20px; font-weight: 500; line-height: 1.2; color: #000; }
.rvx-stock-text  { margin: 0 0 18px; font-size: 14px; line-height: 1.4; color: #000; }

.rvx-stock-list { list-style: none; margin: 0 0 22px; padding: 0; }
.rvx-stock-item { display: flex; align-items: center; gap: 14px; padding: 6px 0; }

.rvx-stock-thumb {
	flex: 0 0 64px; width: 64px; height: 64px;
	border: 1px solid #e4e4e4; border-radius: 12px; background: #fff;
	display: flex; align-items: center; justify-content: center; overflow: hidden;
}
.rvx-stock-thumb img { max-width: 70%; max-height: 80%; object-fit: contain; display: block; }

.rvx-stock-info { flex: 1 1 auto; min-width: 0; }
.rvx-stock-name { display: block; font-size: 13px; line-height: 1.3; text-transform: uppercase; color: #000; }
.rvx-stock-meta { display: block; margin-top: 2px; font-size: 12px; color: #6b6b6b; }

.rvx-stock-badge {
	flex: 0 0 auto; display: inline-flex; align-items: center; gap: 5px;
	font-size: 12px; letter-spacing: .02em; text-transform: uppercase; color: #d82c0d;
}
.rvx-stock-badge svg { width: 14px; height: 14px; }

.rvx-stock-actions { display: flex; justify-content: flex-end; }
.rvx-stock-btn {
	appearance: none; border: 0; cursor: pointer;
	background: #000; color: #fff;
	font: inherit; font-size: 14px; font-weight: 600;
	padding: 14px 22px; border-radius: 12px; min-height: 48px;
}
.rvx-stock-btn:focus-visible { outline: 2px solid #000; outline-offset: 2px; }
.rvx-stock-btn[disabled] { opacity: .6; cursor: default; }

/* Móvil: hoja inferior */
@media (max-width: 767px) {
	.rvx-stock-overlay { align-items: flex-end; padding: 0; }
	.rvx-stock-dialog {
		max-width: none; border-radius: 20px 20px 0 0;
		padding: 24px 20px calc(24px + env(safe-area-inset-bottom, 0px));
		transform: translateY(100%);
	}
	.rvx-stock-item { flex-wrap: wrap; }
	.rvx-stock-info { flex-basis: calc(100% - 140px); }
	.rvx-stock-actions { justify-content: stretch; }
	.rvx-stock-btn { width: 100%; text-align: left; background: #131d2a; }
}
@media (prefers-reduced-motion: reduce) {
	.rvx-stock-overlay, .rvx-stock-dialog { transition: none; }
}