/**
 * Botão WhatsApp flutuante + painel lateral (sem Tailwind).
 */

.shadcn-wa-float {
	--shadcn-wa-bottom: 24px;
	--shadcn-wa-right: 24px;
	--shadcn-wa-btn-bg: #25d366;
	--shadcn-wa-icon-color: #ffffff;
	--shadcn-wa-btn-rgb: 37, 211, 102;
	box-sizing: border-box;
}

.shadcn-wa-float *,
.shadcn-wa-float *::before,
.shadcn-wa-float *::after {
	box-sizing: border-box;
}

.shadcn-wa-float__btn-wrap {
	position: fixed;
	z-index: 100002;
	right: var(--shadcn-wa-right);
	bottom: var(--shadcn-wa-bottom);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	pointer-events: none;
}

.shadcn-wa-float__btn-wrap .shadcn-wa-float__trigger {
	pointer-events: auto;
}

/* Com painel modal aberto: o trigger não pode ficar acima do backdrop/painel (z 100000 / 100001). */
html.shadcn-wa-panel-open .shadcn-wa-float[data-shadcn-wa-mode="modal"] .shadcn-wa-float__btn-wrap {
	z-index: 99990;
}

.shadcn-wa-float__trigger {
	position: relative;
	z-index: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	padding: 0;
	border: none;
	border-radius: 50px;
	background-color: var(--shadcn-wa-btn-bg, #25d366);
	color: var(--shadcn-wa-icon-color, #fff);
	cursor: pointer;
	text-decoration: none;
	transform: translateY(0);
	box-shadow:
		0 3px 14px rgba(0, 0, 0, 0.2),
		0 0 0 0 rgb(var(--shadcn-wa-btn-rgb, 37 211 102) / 0.5);
	animation: shadcn-wa-pulsing 1.25s infinite cubic-bezier(0.66, 0, 0, 1);
	transition: transform 0.3s ease-in-out, filter 0.25s ease;
	-webkit-tap-highlight-color: transparent;
}

.shadcn-wa-float__trigger:hover,
.shadcn-wa-float__trigger:focus-visible {
	transform: translateY(-2px) scale(1.05);
	filter: brightness(1.06);
	outline: 2px solid rgba(255, 255, 255, 0.65);
	outline-offset: 3px;
}

.shadcn-wa-float__trigger:focus-visible {
	animation: none;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.22);
}

.shadcn-wa-float__trigger:active {
	outline: none;
	filter: brightness(1.03);
}

.shadcn-wa-float__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	color: inherit;
}

.shadcn-wa-float__icon svg {
	display: block;
}

@keyframes shadcn-wa-pulsing {
	0% {
		box-shadow:
			0 3px 14px rgba(0, 0, 0, 0.2),
			0 0 0 0 rgb(var(--shadcn-wa-btn-rgb, 37 211 102) / 0.52);
	}
	100% {
		box-shadow:
			0 3px 14px rgba(0, 0, 0, 0.16),
			0 0 0 26px rgb(var(--shadcn-wa-btn-rgb, 37 211 102) / 0);
	}
}

.shadcn-wa-float__backdrop {
	position: fixed;
	inset: 0;
	z-index: 100000;
	margin: 0;
	padding: 0;
	border: none;
	background: rgba(0, 0, 0, 0.45);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.25s ease, visibility 0.25s ease;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.shadcn-wa-float__backdrop.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.shadcn-wa-float__panel {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 100001;
	display: flex;
	flex-direction: column;
	height: 100%;
	height: 100dvh;
	max-height: 100dvh;
	width: min(calc(100vw - 1.5rem), 28rem);
	margin: 0;
	padding: 0;
	border: none;
	border-left: 1px solid var(--sui-border, #e4e4e7);
	background: var(--sui-background, #fff);
	color: var(--sui-foreground, #0a0a0a);
	box-shadow: -12px 0 40px rgba(0, 0, 0, 0.12);
	transform: translateX(100%);
	transition: transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
	outline: none;
}

.shadcn-wa-float__panel.is-open {
	transform: translateX(0);
}

.shadcn-wa-float__panel[hidden] {
	display: none !important;
}

.shadcn-wa-float__close {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	padding: 0;
	border: none;
	border-radius: var(--sui-radius, 0.375rem);
	background: transparent;
	/* Não usar inherit: no hover herdava cor clara junto com fundo claro (ícone sumia). */
	color: var(--sui-muted-foreground, #71717a);
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.shadcn-wa-float__close svg {
	display: block;
	flex-shrink: 0;
}

.shadcn-wa-float__close:hover,
.shadcn-wa-float__close:focus-visible {
	background: var(--sui-muted, #f4f4f5);
	color: var(--sui-foreground, #0a0a0a);
	outline: 2px solid var(--sui-ring, var(--sui-primary, #0a0a0a));
	outline-offset: 1px;
}

/* Painel com tema escuro (ex.: html.dark): hover com fundo escuro e ícone claro. */
.dark .shadcn-wa-float__panel .shadcn-wa-float__close,
html.dark .shadcn-wa-float__panel .shadcn-wa-float__close {
	color: var(--sui-muted-foreground, #a1a1aa);
}

.dark .shadcn-wa-float__panel .shadcn-wa-float__close:hover,
.dark .shadcn-wa-float__panel .shadcn-wa-float__close:focus-visible,
html.dark .shadcn-wa-float__panel .shadcn-wa-float__close:hover,
html.dark .shadcn-wa-float__panel .shadcn-wa-float__close:focus-visible {
	background: var(--sui-muted, #27272a);
	color: var(--sui-foreground, #fafafa);
	outline-color: var(--sui-ring, var(--sui-primary, #fafafa));
}

.shadcn-wa-float__panel-scroll {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.shadcn-wa-float__panel-inner {
	padding: 3rem 1.5rem 2rem;
	max-width: 100%;
}

@media (min-width: 768px) {
	.shadcn-wa-float__panel-inner {
		padding: 3.5rem 2rem 2.5rem;
	}
}

.shadcn-wa-float__title {
	margin: 0 0 0.75rem;
	font-size: clamp(1.25rem, 2.5vw, 1.75rem);
	font-weight: 600;
	line-height: 1.2;
}

.shadcn-wa-float__desc {
	margin: 0 0 1.5rem;
	font-size: 1rem;
	line-height: 1.5;
	color: var(--sui-gp-text-muted, var(--sui-muted-foreground, #71717a));
}

.shadcn-wa-float__embed {
	font-size: 0.9375rem;
	line-height: 1.5;
}

.shadcn-wa-float__embed iframe {
	max-width: 100%;
}

html.shadcn-wa-panel-open {
	overflow: hidden;
}

/* Guard visual para popups dinâmicos com branding legado (ex.: Omint). */
.vlr-brand-fix-modal,
.vlr-brand-fix-modal * {
	text-shadow: none !important;
}

.vlr-brand-fix-modal nav,
.vlr-brand-fix-modal [class*='menu'],
.vlr-brand-fix-modal [class*='tab'],
.vlr-brand-fix-modal [role='tablist'],
.vlr-brand-fix-modal [role='tab'],
.vlr-brand-fix-modal .menu-item,
.vlr-brand-fix-modal a,
.vlr-brand-fix-modal p,
.vlr-brand-fix-modal h1,
.vlr-brand-fix-modal h2,
.vlr-brand-fix-modal h3,
.vlr-brand-fix-modal h4,
.vlr-brand-fix-modal h5,
.vlr-brand-fix-modal h6,
.vlr-brand-fix-modal li,
.vlr-brand-fix-modal span {
	color: #111111 !important;
}

.vlr-brand-fix-modal .ff-btn,
.vlr-brand-fix-modal .ff-btn-submit,
.vlr-brand-fix-modal button[class*='cta'],
.vlr-brand-fix-modal a[class*='cta'] {
	color: #ffffff !important;
}

.vlr-brand-fix-modal .vlr-brand-fix-whatsapp,
.vlr-brand-fix-modal .vlr-brand-fix-whatsapp * {
	color: #ffffff !important;
	fill: #ffffff !important;
	stroke: #ffffff !important;
	text-shadow: none !important;
}

.vlr-brand-fix-modal :is(nav a, [class*='menu'] a, [role='tab'], .menu-item a):not(.vlr-brand-fix-whatsapp),
.vlr-brand-fix-modal :is(nav a, [class*='menu'] a, [role='tab'], .menu-item a):not(.vlr-brand-fix-whatsapp) * {
	color: #111111 !important;
}

.vlr-brand-fix-modal :is(nav a, [class*='menu'] a, [role='tab'], .menu-item a):not(.vlr-brand-fix-whatsapp):hover,
.vlr-brand-fix-modal :is(nav a, [class*='menu'] a, [role='tab'], .menu-item a):not(.vlr-brand-fix-whatsapp):hover * {
	color: #eb914c !important;
}

.vlr-brand-fix-modal :is(nav, [class*='menu'], [role='tablist'], .menu-item) {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}

@media (prefers-reduced-motion: reduce) {
	.shadcn-wa-float__panel,
	.shadcn-wa-float__backdrop,
	.shadcn-wa-float__trigger {
		transition: none;
	}

	.shadcn-wa-float__trigger {
		animation: none;
		box-shadow: 0 3px 14px rgba(0, 0, 0, 0.2);
	}
}
