.sp-contact-dock {
	position: fixed;
	right: 24px;
	bottom: 88px;
	z-index: 9998;
	color: #082b3d;
	font-family: var(--seer-font-body, var(--e-global-typography-text-font-family, Inter, Arial, sans-serif));
}
.sp-contact-dock * { box-sizing: border-box; }
.sp-contact-dock__trigger {
	display: flex;
	width: 128px;
	height: 54px;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 8px 16px;
	border: 1px solid #f15a18;
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 12px 30px rgba(4,31,48,.16);
	color: #082b3d;
	cursor: pointer;
	transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.sp-contact-dock__trigger:hover { background: #fff7f2; box-shadow: 0 16px 34px rgba(4,31,48,.2); transform: translateY(-2px); }
.sp-contact-dock__trigger-icon {
	display: flex;
	width: 28px;
	height: 28px;
	flex: 0 0 28px;
	align-items: center;
	justify-content: center;
	background: transparent;
}
.sp-contact-dock__trigger-icon img { display: block; width: 28px; height: 28px; object-fit: contain; }
.sp-contact-dock__trigger > span:last-child { font-size: 12px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.sp-contact-dock__trigger:focus-visible,
.sp-contact-dock__panel button:focus-visible,
.sp-contact-dock__channel:focus-visible { outline: 3px solid rgba(241,90,24,.45); outline-offset: 3px; }
.sp-contact-dock__panel {
	position: absolute;
	right: 0;
	bottom: 62px;
	width: min(360px, calc(100vw - 48px));
	padding: 23px;
	border: 1px solid #d5e0e6;
	border-top: 3px solid #f15a18;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 20px 48px rgba(4,31,48,.18);
}
.sp-contact-dock__panel[hidden] { display: none !important; }
.sp-contact-dock__panel header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.sp-contact-dock__panel header p { margin: 0 0 6px; color: #f15a18; font-size: 9px; font-weight: 800; letter-spacing: .16em; }
.sp-contact-dock__panel h2 { margin: 0; color: #082b3d; font: 550 29px/1.06 var(--seer-font-display, var(--e-global-typography-primary-font-family, Georgia, serif)); }
.sp-contact-dock__panel header button { padding: 4px 0; border: 0; border-bottom: 1px solid #f15a18; background: transparent; color: #526984; font-size: 11px; font-weight: 700; cursor: pointer; }
.sp-contact-dock__panel header button:hover { color: #082b3d; }
.sp-contact-dock__intro { margin: 12px 0 18px; color: #526984; font-size: 13px; line-height: 1.45; }
.sp-contact-dock__panel ul { display: grid; gap: 0; overflow: hidden; margin: 0; padding: 0; border: 1px solid #d7e1e6; border-radius: 8px; background: #fff; list-style: none; }
.sp-contact-dock__panel li + li { border-top: 1px solid #d7e1e6; }
.sp-contact-dock__channel {
	display: grid;
	min-height: 64px;
	grid-template-columns: 42px minmax(0,1fr);
	gap: 12px;
	align-items: center;
	padding: 10px 12px;
	border: 0;
	border-radius: 0;
	background: #fff;
	color: #082b3d;
	text-decoration: none;
	transition: border-color .18s ease, background-color .18s ease;
}
.sp-contact-dock__channel:hover { background: #fff7f2; }
.sp-contact-dock__channel-icon { display: flex; width: 42px; height: 42px; align-items: center; justify-content: center; border: 1px solid #e0e8ec; border-radius: 6px; background: #eef4f6; }
.sp-contact-dock__channel-icon img { display: block; width: 27px; height: 27px; object-fit: contain; }
.sp-contact-dock__channel.is-whatsapp .sp-contact-dock__channel-icon img,
.sp-contact-dock__channel.is-messenger .sp-contact-dock__channel-icon img { width: 24px; height: 24px; filter: brightness(0) saturate(100%) invert(13%) sepia(23%) saturate(2027%) hue-rotate(154deg) brightness(91%) contrast(101%); }
.sp-contact-dock__channel.is-dealer .sp-contact-dock__channel-icon img { width: 27px; height: 27px; }
.sp-contact-dock__channel strong,
.sp-contact-dock__channel small { display: block; }
.sp-contact-dock__channel strong { overflow-wrap: anywhere; font-size: 13px; line-height: 1.3; }
.sp-contact-dock__channel small { margin-top: 3px; color: #61778b; font-size: 11px; line-height: 1.35; }

/* Astra back-to-top, aligned with the SEER POWER utility controls. */
#ast-scroll-top.ast-scroll-to-top-right {
	right: 24px !important;
	bottom: 24px !important;
	display: grid !important;
	width: 48px !important;
	height: 48px !important;
	place-items: center;
	border: 1px solid #f15a18;
	border-radius: 8px !important;
	background: #082b3d !important;
	box-shadow: 0 10px 24px rgba(4,31,48,.2);
	color: #fff !important;
	padding: 0 !important;
	font-size: 0 !important;
	line-height: 1 !important;
}
#ast-scroll-top .ast-icon.icon-arrow {
	position: static !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	display: block !important;
	width: 14px !important;
	height: 14px !important;
	margin: 0 !important;
	padding: 0 !important;
	background: url('../images/contact-dock/back-to-top-arrow-v1.webp') center / contain no-repeat;
	transform: none !important;
	vertical-align: middle !important;
}
#ast-scroll-top .ast-icon.icon-arrow svg { display: none; }
#ast-scroll-top .ast-icon.icon-arrow::before,
#ast-scroll-top .ast-icon.icon-arrow::after { display: none !important; content: none !important; }

@media (max-width: 767px) {
	.sp-contact-dock { right: 16px; bottom: calc(78px + env(safe-area-inset-bottom)); }
	.sp-contact-dock__trigger { width: 54px; height: 54px; padding: 11px; border-radius: 50%; }
	.sp-contact-dock__trigger:hover { transform: none; }
	.sp-contact-dock__trigger-icon { width: 30px; height: 30px; flex-basis: 30px; }
	.sp-contact-dock__trigger-icon img { width: 30px; height: 30px; }
	.sp-contact-dock__trigger > span:last-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.sp-contact-dock__panel { position: fixed; right: 12px; bottom: calc(140px + env(safe-area-inset-bottom)); left: 12px; width: auto; max-height: calc(100vh - 164px); overflow: auto; padding: 20px; }
	.sp-contact-dock__panel h2 { font-size: 27px; }
	#ast-scroll-top.ast-scroll-to-top-right { right: 16px !important; bottom: calc(16px + env(safe-area-inset-bottom)) !important; width: 46px !important; height: 46px !important; }
	#ast-scroll-top .ast-icon.icon-arrow { width: 13px !important; height: 13px !important; }
}
@media (prefers-reduced-motion: reduce) { .sp-contact-dock__trigger, .sp-contact-dock__channel { transition: none; } }
