/* Sidrena cijena – front-end
 * Anchor price block, lowest 30-day price and the discount badge.
 * Colours come from plugin settings via CSS variables (--sdr-*, --sdb-*).
 */

/* ------------------------------------------------------------------ anchor price block */
.sidrena {
	--sdr-label: #5b6472;
	--sdr-value: #1f2937;
	display: block;
	margin: 6px 0 0;
	font-size: 12.5px;
	line-height: 1.35;
	color: var(--sdr-label);
	letter-spacing: .005em;
	text-align: inherit;
	text-transform: none;
}
.sidrena__row { display: block; }
.sidrena__row + .sidrena__row { margin-top: 2px; }
.sidrena__label { font-weight: 500; }
.sidrena__value {
	font-weight: 700;
	color: var(--sdr-value);
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

/* product page: a calm information card */
.sidrena--product {
	display: inline-block;
	margin: 10px 0 4px;
	padding: 8px 12px 8px 12px;
	font-size: 14px;
	background: linear-gradient(180deg, rgba(17, 24, 39, .035), rgba(17, 24, 39, .055));
	border: 1px solid rgba(17, 24, 39, .08);
	border-left: 3px solid var(--sdb-bg, #ff2d55);
	border-radius: 10px;
}
.sidrena--product .sidrena__row + .sidrena__row {
	margin-top: 4px;
	padding-top: 4px;
	border-top: 1px dashed rgba(17, 24, 39, .12);
}

/* lists, modules, related */
.sidrena--list,
.sidrena--module,
.sidrena--related { font-size: 12px; margin-top: 4px; }

/* cart */
.sidrena--cart,
.sidrena--minicart { font-size: 11.5px; margin-top: 3px; }
.sidrena--minicart { margin-top: 1px; }

/* ------------------------------------------------------------------ positioning helpers for the badge */
.vmxproduct .browseImage,
.product-container .productimages,
.vm-product-media-container,
.vm-product-media-container .inner { position: relative; }

/* ------------------------------------------------------------------ discount badge (shared) */
.sdb {
	--sdb-bg: #ff2d55;
	--sdb-bg2: #ff7a00;
	--sdb-fg: #ffffff;
	--sdb-scale: 1;
	position: absolute;
	top: 12px;
	z-index: 12;
	display: inline-flex;
	pointer-events: none;
	font-family: inherit;
	color: var(--sdb-fg);
	line-height: 1;
	transform: scale(var(--sdb-scale));
	-webkit-font-smoothing: antialiased;
}
.sdb--left { left: 12px; transform-origin: top left; }
.sdb--right { right: 12px; transform-origin: top right; }
.sdb--lg { --sdb-scale: 1.28; top: 16px; }
.sdb--left.sdb--lg { left: 16px; }
.sdb--right.sdb--lg { right: 16px; }
.sdb--sm { --sdb-scale: .82; top: 14px; }
.sdb--left.sdb--sm { left: 10px; }
.sdb--right.sdb--sm { right: 10px; }
.sdb--tag { top: 16px; }
.sdb--tag.sdb--lg { top: 22px; }

.sdb__inner {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.sdb__pct {
	display: inline-flex;
	align-items: flex-start;
	font-weight: 900;
	font-size: 22px;
	letter-spacing: -.04em;
	font-variant-numeric: tabular-nums;
	text-shadow: 0 1px 0 rgba(0, 0, 0, .12);
}
.sdb__minus { margin-right: 1px; font-weight: 800; }
.sdb__sign { font-size: .58em; margin: .12em 0 0 1px; letter-spacing: 0; }
.sdb__label {
	margin-top: 3px;
	font-size: 8.5px;
	font-weight: 800;
	letter-spacing: .22em;
	text-transform: uppercase;
	opacity: .95;
	padding-left: .22em; /* optical centre for letter-spacing */
}
.sdb__shine { display: none; }

/* ------------------------------------------------------------------ style 1: TAG (price tag with punched hole + shine) */
.sdb--tag { filter: drop-shadow(0 6px 14px rgba(255, 45, 85, .35)) drop-shadow(0 1px 2px rgba(0, 0, 0, .18)); }
.sdb--tag.sdb--left { transform: scale(var(--sdb-scale)) rotate(-7deg); }
.sdb--tag.sdb--right { transform: scale(var(--sdb-scale)) rotate(7deg); }
.sdb--tag .sdb__inner {
	min-width: 66px;
	padding: 9px 12px 8px 24px;
	background:
		radial-gradient(120% 140% at 0% 0%, rgba(255, 255, 255, .28), transparent 45%),
		linear-gradient(135deg, var(--sdb-bg) 0%, var(--sdb-bg2) 100%);
	clip-path: polygon(14px 0, calc(100% - 7px) 0, 100% 7px, 100% calc(100% - 7px), calc(100% - 7px) 100%, 14px 100%, 0 50%);
	-webkit-mask: radial-gradient(circle 4px at 13px 50%, transparent 97%, #000 100%);
	        mask: radial-gradient(circle 4px at 13px 50%, transparent 97%, #000 100%);
}
.sdb--tag .sdb__inner::after { /* stitched inner border */
	content: "";
	position: absolute;
	inset: 3px 3px 3px 19px;
	border: 1px dashed rgba(255, 255, 255, .45);
	border-radius: 3px;
}
.sdb--tag .sdb__shine,
.sdb--pill .sdb__shine {
	display: block;
	position: absolute;
	inset: 0;
	overflow: hidden;
	clip-path: inherit;
	pointer-events: none;
}
.sdb--tag .sdb__shine { clip-path: polygon(14px 0, 100% 0, 100% 100%, 14px 100%, 0 50%); }
.sdb--tag .sdb__shine::before,
.sdb--pill .sdb__shine::before {
	content: "";
	position: absolute;
	top: -20%;
	bottom: -20%;
	left: -60%;
	width: 40%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .55), transparent);
	transform: skewX(-20deg);
	opacity: 0;
}
.sdb--anim.sdb--tag .sdb__shine::before,
.sdb--anim.sdb--pill .sdb__shine::before { animation: sdb-shine 3.6s ease-in-out infinite 1s; }
.sdb--anim.sdb--tag { animation: sdb-swing 3.6s ease-in-out infinite; }

/* ------------------------------------------------------------------ style 2: BURST (spinning starburst sticker) */
.sdb--burst .sdb__inner {
	width: 84px;
	height: 84px;
	overflow: visible;
	isolation: isolate;
}
.sdb--burst .sdb__inner::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: conic-gradient(from 0deg, var(--sdb-bg), var(--sdb-bg2), var(--sdb-bg), var(--sdb-bg2), var(--sdb-bg));
	clip-path: polygon(50% 0%, 57.8% 10.9%, 69.1% 3.8%, 72.7% 16.7%, 85.4% 14.6%, 83.3% 27.3%, 96.2% 30.9%, 89.1% 42.2%, 100% 50%, 89.1% 57.8%, 96.2% 69.1%, 83.3% 72.7%, 85.4% 85.4%, 72.7% 83.3%, 69.1% 96.2%, 57.8% 89.1%, 50% 100%, 42.2% 89.1%, 30.9% 96.2%, 27.3% 83.3%, 14.6% 85.4%, 16.7% 72.7%, 3.8% 69.1%, 10.9% 57.8%, 0% 50%, 10.9% 42.2%, 3.8% 30.9%, 16.7% 27.3%, 14.6% 14.6%, 27.3% 16.7%, 30.9% 3.8%, 42.2% 10.9%);
	filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .25));
}
.sdb--burst .sdb__inner::after {
	content: "";
	position: absolute;
	inset: 11px;
	z-index: -1;
	border-radius: 50%;
	border: 1.5px dashed rgba(255, 255, 255, .55);
}
.sdb--burst .sdb__pct { font-size: 20px; }
.sdb--burst .sdb__label { font-size: 7.5px; margin-top: 2px; }
.sdb--anim.sdb--burst .sdb__inner::before { animation: sdb-spin 18s linear infinite; }
.sdb--anim.sdb--burst .sdb__inner { animation: sdb-pop 2.8s ease-in-out infinite; }
.sdb--burst.sdb--left { transform: scale(var(--sdb-scale)) rotate(-10deg); }
.sdb--burst.sdb--right { transform: scale(var(--sdb-scale)) rotate(10deg); }

/* ------------------------------------------------------------------ style 3: RIBBON (hanging bookmark flag) */
.sdb--ribbon { top: 0; filter: drop-shadow(0 6px 10px rgba(0, 0, 0, .22)); }
.sdb--ribbon.sdb--left { left: 16px; }
.sdb--ribbon.sdb--right { right: 16px; }
.sdb--ribbon .sdb__inner {
	min-width: 58px;
	padding: 14px 10px 20px;
	background: linear-gradient(180deg, var(--sdb-bg) 0%, var(--sdb-bg2) 100%);
	clip-path: polygon(0 0, 100% 0, 100% 100%, 50% calc(100% - 10px), 0 100%);
}
.sdb--ribbon .sdb__inner::before { /* fold at the top */
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 5px;
	background: rgba(0, 0, 0, .18);
}
.sdb--ribbon .sdb__pct { font-size: 20px; }
.sdb--anim.sdb--ribbon .sdb__inner { animation: sdb-drop .7s cubic-bezier(.2, 1.4, .4, 1) both; }

/* ------------------------------------------------------------------ style 4: PILL (dark glass + neon gradient) */
.sdb--pill .sdb__inner {
	flex-direction: row;
	gap: 7px;
	padding: 7px 13px 7px 9px;
	border-radius: 999px;
	background:
		linear-gradient(#0d0f14, #0d0f14) padding-box,
		linear-gradient(120deg, var(--sdb-bg), var(--sdb-bg2)) border-box;
	border: 2px solid transparent;
	box-shadow: 0 0 0 0 rgba(255, 45, 85, .55), 0 8px 18px rgba(0, 0, 0, .28);
}
.sdb--pill .sdb__pct {
	font-size: 18px;
	background: linear-gradient(120deg, var(--sdb-bg), var(--sdb-bg2));
	-webkit-background-clip: text;
	        background-clip: text;
	color: transparent;
	text-shadow: none;
}
.sdb--pill .sdb__label { margin: 0; font-size: 8px; color: #fff; }
.sdb--pill .sdb__shine { border-radius: 999px; clip-path: none; }
.sdb--anim.sdb--pill .sdb__inner { animation: sdb-glow 2.4s ease-out infinite; }

/* ------------------------------------------------------------------ animations */
@keyframes sdb-shine {
	0% { left: -60%; opacity: 0; }
	12% { opacity: 1; }
	38% { left: 130%; opacity: 0; }
	100% { left: 130%; opacity: 0; }
}
@keyframes sdb-swing {
	0%, 100% { translate: 0 0; }
	50% { translate: 0 -2px; }
}
@keyframes sdb-spin { to { transform: rotate(360deg); } }
@keyframes sdb-pop {
	0%, 100% { scale: 1; }
	50% { scale: 1.06; }
}
@keyframes sdb-drop {
	from { transform: translateY(-110%); }
	to { transform: translateY(0); }
}
@keyframes sdb-glow {
	0% { box-shadow: 0 0 0 0 rgba(255, 45, 85, .5), 0 8px 18px rgba(0, 0, 0, .28); }
	70% { box-shadow: 0 0 0 10px rgba(255, 45, 85, 0), 0 8px 18px rgba(0, 0, 0, .28); }
	100% { box-shadow: 0 0 0 0 rgba(255, 45, 85, 0), 0 8px 18px rgba(0, 0, 0, .28); }
}

@media (prefers-reduced-motion: reduce) {
	.sdb, .sdb *, .sdb *::before, .sdb *::after { animation: none !important; }
}

@media (max-width: 575.98px) {
	.sdb { --sdb-scale: .86; top: 8px; }
	.sdb--left { left: 8px; }
	.sdb--right { right: 8px; }
	.sdb--lg { --sdb-scale: 1.05; }
	.sdb--ribbon { top: 0; }
}

@media print {
	.sdb { display: none; }
}

/* sportskiservis product page: the price column is col-7 – give the info card the full row */
.vm-product-details-container .row > [class*="col-"]:has(> .product-price .sidrena--product) {
	flex: 0 0 100%;
	max-width: 100%;
}
