/* Shree Astrology – Call & WhatsApp Buttons */
.sacw {
	--sacw-call: #984149;
	--sacw-wa: #25d366;
	--sacw-wa-dark: #1da851;
	position: fixed;
	z-index: 99990;
	bottom: 24px;
	right: 24px;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 12px;
	font-family: inherit;
	line-height: 1.2;
	-webkit-font-smoothing: antialiased;
	animation: sacw-in .5s ease both;
}
.sacw.sacw--pos-left { right: auto; left: 24px; align-items: flex-start; }
.sacw *, .sacw *::before, .sacw *::after { box-sizing: border-box; }

.sacw .sacw__btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 52px;
	margin: 0;
	padding: 7px 18px 7px 7px;
	border: 0;
	border-radius: 999px;
	color: #fff !important;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none !important;
	box-shadow: 0 10px 24px -8px rgba(0, 0, 0, .45);
	transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.sacw .sacw__btn:hover,
.sacw .sacw__btn:focus-visible {
	color: #fff !important;
	transform: translateY(-2px);
	box-shadow: 0 14px 28px -8px rgba(0, 0, 0, .5);
}
.sacw .sacw__btn:focus-visible { outline: 3px solid #f2c94c; outline-offset: 3px; }
.sacw .sacw__btn--wa { background: var(--sacw-wa); }
.sacw .sacw__btn--wa:hover { background: var(--sacw-wa-dark); }
.sacw .sacw__btn--call { background: var(--sacw-call); }

.sacw .sacw__icon {
	flex: none;
	width: 38px;
	height: 38px;
	padding: 8px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .18);
}
.sacw .sacw__text { display: flex; flex-direction: column; }
.sacw .sacw__label { font-size: 15px; font-weight: 700; }
.sacw .sacw__num { font-size: 12.5px; font-weight: 500; opacity: .92; letter-spacing: .01em; }

@keyframes sacw-in {
	from { opacity: 0; transform: translateY(16px); }
	to   { opacity: 1; transform: none; }
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
	/* Bottom bar: Call | WhatsApp */
	.sacw.sacw--mobile-bar {
		left: 0;
		right: 0;
		bottom: 0;
		display: grid;
		grid-auto-flow: column;
		grid-auto-columns: 1fr;
		gap: 0;
		padding-bottom: env(safe-area-inset-bottom, 0);
		background: #fff;
		box-shadow: 0 -4px 18px rgba(0, 0, 0, .14);
		animation-name: sacw-up;
	}
	.sacw.sacw--mobile-bar .sacw__btn {
		justify-content: center;
		width: 100%;
		min-height: 56px;
		padding: 8px 10px;
		border-radius: 0;
		box-shadow: none;
		transform: none;
	}
	.sacw.sacw--mobile-bar .sacw__btn--call { order: 1; }
	.sacw.sacw--mobile-bar .sacw__btn--wa { order: 2; }
	.sacw.sacw--mobile-bar .sacw__icon { width: 30px; height: 30px; padding: 6px; }
	.sacw.sacw--mobile-bar .sacw__num { display: none; }
	.sacw.sacw--mobile-bar .sacw__label { font-size: 16px; }

	/* Round floating buttons */
	.sacw.sacw--mobile-floating { bottom: 18px; right: 16px; left: auto; align-items: flex-end; }
	.sacw.sacw--mobile-floating.sacw--pos-left { right: auto; left: 16px; align-items: flex-start; }
	.sacw.sacw--mobile-floating .sacw__btn { width: 56px; height: 56px; min-height: 0; padding: 0; justify-content: center; }
	.sacw.sacw--mobile-floating .sacw__icon { width: 56px; height: 56px; padding: 14px; background: none; }
	.sacw.sacw--mobile-floating .sacw__text { display: none; }

	.sacw.sacw--no-mobile { display: none !important; }

	/* Keep the page's last content visible above the bar */
	body.sacw-bar-on { padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px)) !important; }
}

@keyframes sacw-up {
	from { transform: translateY(100%); }
	to   { transform: none; }
}

/* ---------- Laptop / desktop ---------- */
@media (min-width: 768px) {
	.sacw.sacw--no-desktop { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
	.sacw, .sacw .sacw__btn { animation: none; transition: none; }
}

@media print {
	.sacw { display: none !important; }
}
