.rsds-flyer {
	--rsds-gap: 20px;
	position: fixed;
	z-index: 99999;
	width: var(--rsds-w, 320px);
	max-width: 85vw;
	opacity: 0;
	transition: opacity .3s ease, transform .3s ease;
	box-sizing: border-box;
}
.rsds-flyer[hidden] { display: none !important; }

/* Posisi */
.rsds-pos-bottom-right  { right: var(--rsds-gap); bottom: var(--rsds-gap); transform: translateY(20px); }
.rsds-pos-bottom-left   { left: var(--rsds-gap);  bottom: var(--rsds-gap); transform: translateY(20px); }
.rsds-pos-bottom-center { left: 50%; bottom: var(--rsds-gap); transform: translate(-50%, 20px); }
.rsds-pos-top-right     { right: var(--rsds-gap); top: var(--rsds-gap); transform: translateY(-20px); }
.rsds-pos-top-left      { left: var(--rsds-gap);  top: var(--rsds-gap); transform: translateY(-20px); }

.admin-bar .rsds-pos-top-right,
.admin-bar .rsds-pos-top-left { top: calc(var(--rsds-gap) + 32px); }

/* Tampil */
.rsds-flyer.is-visible { opacity: 1; transform: translateY(0); }
.rsds-pos-bottom-center.is-visible { transform: translate(-50%, 0); }

.rsds-flyer__link { display: block; line-height: 0; border-radius: 8px; overflow: hidden; box-shadow: 0 8px 28px rgba(0, 0, 0, .28); background: #fff; }
.rsds-flyer__img  { display: block; width: 100%; height: auto; max-height: 80vh; object-fit: contain; }

.rsds-flyer__close {
	position: absolute;
	top: -12px;
	right: -12px;
	z-index: 1;
	width: 30px;
	height: 30px;
	padding: 0;
	border: 2px solid #fff;
	border-radius: 50%;
	background: #222;
	color: #fff;
	font: 400 20px/1 Arial, sans-serif;
	text-align: center;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .35);
}
.rsds-flyer__close:hover,
.rsds-flyer__close:focus { background: #c0392b; outline: none; }
.rsds-flyer__close:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

@media (max-width: 640px) {
	.rsds-flyer { --rsds-gap: 12px; }
	.rsds-flyer.rsds-hide-mobile { display: none !important; }
	.rsds-pos-bottom-center { left: 50%; }
}
@media (max-width: 782px) {
	.admin-bar .rsds-pos-top-right,
	.admin-bar .rsds-pos-top-left { top: calc(var(--rsds-gap) + 46px); }
}
@media (prefers-reduced-motion: reduce) {
	.rsds-flyer { transition: none; }
}
