/**
 * Storefront — Sticky CTA widget.
 *
 * Layout "Basic" — port visual dari referensi desain (bar pill gelap +
 * tombol aksen kuning, posisi fixed bottom-center). Selector di-scope ke
 * .stfr-sticky-cta, class di-prefix `stfr-sticky-cta`.
 */

.stfr-sticky-cta {
	--stfr-sc-bg: #1D3B32;
	--stfr-sc-bg-2: #15291f;
	--stfr-sc-text: #F4F6F5;
	--stfr-sc-accent: #D4B038;
	--stfr-sc-accent-text: #1A1F1D;
	--stfr-sc-body: 'Inter Tight', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

	position: fixed;
	left: 50%;
	z-index: 9999;
	display: flex;
	font-family: var(--stfr-sc-body);
	-webkit-font-smoothing: antialiased;
	opacity: 0;
	pointer-events: none;
	transition: opacity .35s ease, transform .35s ease;
}

.stfr-sticky-cta *,
.stfr-sticky-cta *::before,
.stfr-sticky-cta *::after {
	box-sizing: border-box;
}

/* ---- Posisi: Bawah (satu-satunya opsi saat ini) ---- */
.stfr-sticky-cta--bottom {
	bottom: 24px;
	transform: translate(-50%, 16px);
}

.stfr-sticky-cta--bottom.is-visible {
	transform: translate(-50%, 0);
}

.stfr-sticky-cta.is-visible {
	opacity: 1;
	pointer-events: auto;
}

/* Preview di editor Elementor — selalu tampil & statis supaya bisa
   diedit, terlepas dari logic scroll (yang memang tidak jalan di editor).
   Elementor membungkus kanvas preview-nya dengan CSS `transform:scale(...)`
   untuk mensimulasikan lebar device — itu bikin `position:fixed` (DAN
   `position:absolute`) pada elemen ini jadi relatif ke pembungkus yang
   di-transform itu, BUKAN ke viewport sungguhan (aturan CSS: elemen
   ber-`transform` jadi containing block baru untuk descendant fixed/
   absolute) — makanya posisinya kacau HANYA di editor, normal di device
   asli (tidak ada transform:scale di frontend). Perbaikannya: jangan
   pakai fixed+left:50%+translate sama sekali di mode ini — pakai elemen
   normal dalam alur dokumen, di-tengahkan lewat margin auto. */
.stfr-sticky-cta--editor-preview {
	position: relative !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	width: fit-content;
	margin-inline: auto;
	opacity: 1 !important;
	pointer-events: auto !important;
	transform: none !important;
}

/* ---- Layout: Basic ---- */
.stfr-sticky-cta--basic .stfr-sticky-cta__bar {
	display: flex;
	align-items: center;
	gap: 18px;
	background: linear-gradient(165deg, var(--stfr-sc-bg) 0%, var(--stfr-sc-bg-2) 100%);
	color: var(--stfr-sc-text);
	border-radius: 100px;
	padding: 10px 10px 10px 26px;
	box-shadow: 0 20px 40px -16px rgba(0, 0, 0, .35);
	white-space: nowrap;
}

.stfr-sticky-cta--basic .stfr-sticky-cta__text {
	font-size: 14px;
	font-weight: 500;
}

.stfr-sticky-cta--basic .stfr-sticky-cta__btn {
	display: inline-flex;
	align-items: center;
	background: var(--stfr-sc-accent);
	color: var(--stfr-sc-accent-text);
	font-size: 13.5px;
	font-weight: 700;
	padding: 11px 22px;
	border-radius: 100px;
	text-decoration: none;
	white-space: nowrap;
	transition: filter .15s;
}

.stfr-sticky-cta--basic .stfr-sticky-cta__btn:hover {
	filter: brightness(1.06);
}

@media (max-width: 600px) {
	.stfr-sticky-cta--bottom {
		left: 16px;
		right: 16px;
		transform: translateY(16px);
		width: auto;
	}

	.stfr-sticky-cta--bottom.is-visible {
		transform: translateY(0);
	}

	.stfr-sticky-cta--basic .stfr-sticky-cta__bar {
		width: 100%;
		white-space: normal;
		padding: 12px 12px 12px 18px;
	}

	.stfr-sticky-cta--basic .stfr-sticky-cta__text {
		flex: 1;
	}
}
