/* Isolamento contra estilos globais de temas e construtores visuais. */
body #dmais-wa-root.dmais-wa-root,
body #dmais-wa-root.dmais-wa-root * {
	box-sizing: border-box !important;
}

body #dmais-wa-root.dmais-wa-root {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
}

body #dmais-wa-root.dmais-wa-root > button.dmais-wa-launcher {
	-webkit-appearance: none !important;
	appearance: none !important;
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 auto !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 13px !important;
	border: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	color: var(--dmais-wa-text) !important;
	box-shadow: none !important;
	text-decoration: none !important;
	line-height: 1 !important;
	cursor: pointer !important;
	transition: transform .2s ease, box-shadow .2s ease !important;
}

body #dmais-wa-root.dmais-wa-style-round > button.dmais-wa-launcher {
	width: var(--dmais-wa-size) !important;
	min-width: var(--dmais-wa-size) !important;
	max-width: var(--dmais-wa-size) !important;
	height: var(--dmais-wa-size) !important;
	min-height: var(--dmais-wa-size) !important;
	max-height: var(--dmais-wa-size) !important;
	border-radius: 999px !important;
}

body #dmais-wa-root.dmais-wa-style-square > button.dmais-wa-launcher {
	width: var(--dmais-wa-size) !important;
	min-width: var(--dmais-wa-size) !important;
	max-width: var(--dmais-wa-size) !important;
	height: var(--dmais-wa-size) !important;
	min-height: var(--dmais-wa-size) !important;
	max-height: var(--dmais-wa-size) !important;
	border-radius: 16px !important;
}

body #dmais-wa-root.dmais-wa-style-pill > button.dmais-wa-launcher {
	width: calc(var(--dmais-wa-size) + 22px) !important;
	min-width: calc(var(--dmais-wa-size) + 22px) !important;
	max-width: calc(var(--dmais-wa-size) + 22px) !important;
	height: var(--dmais-wa-size) !important;
	min-height: var(--dmais-wa-size) !important;
	max-height: var(--dmais-wa-size) !important;
	border-radius: 999px !important;
}

body #dmais-wa-root.dmais-wa-root > button.dmais-wa-launcher:hover {
	transform: translateY(-2px) scale(1.04) !important;
	box-shadow: none !important;
}

body #dmais-wa-root.dmais-wa-root > button.dmais-wa-launcher:focus-visible {
	outline: 3px solid #146ef5 !important;
	outline-offset: 3px !important;
}

body #dmais-wa-root .dmais-wa-launcher-motion > svg,
body #dmais-wa-root .dmais-wa-launcher-motion > img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: inherit !important;
	object-fit: cover !important;
}

body #dmais-wa-root.dmais-wa-style-round .dmais-wa-launcher-motion > img {
	border-radius: 999px !important;
}

body #dmais-wa-root .dmais-wa-launcher-motion {
	position: absolute !important;
	inset: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	padding: 13px !important;
	border: 0 !important;
	border-radius: inherit !important;
	background: var(--dmais-wa-theme) !important;
	background-color: var(--dmais-wa-theme) !important;
	background-image: none !important;
	box-shadow: 0 7px 28px rgba(0, 0, 0, .25) !important;
	color: var(--dmais-wa-text) !important;
	pointer-events: none !important;
	transform-origin: center !important;
}

body #dmais-wa-root .dmais-wa-header {
	background-color: var(--dmais-wa-theme) !important;
	color: var(--dmais-wa-text) !important;
}

body #dmais-wa-root .dmais-wa-header > button.dmais-wa-close {
	all: unset !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	display: grid !important;
	place-items: center !important;
	box-sizing: border-box !important;
	flex: 0 0 34px !important;
	width: 34px !important;
	min-width: 34px !important;
	max-width: 34px !important;
	height: 34px !important;
	min-height: 34px !important;
	max-height: 34px !important;
	margin: 0 0 0 auto !important;
	padding: 0 !important;
	border: 1px solid rgba(255, 255, 255, .46) !important;
	border-radius: 999px !important;
	background: rgba(255, 255, 255, .1) !important;
	background-color: rgba(255, 255, 255, .1) !important;
	background-image: none !important;
	box-shadow: none !important;
	color: var(--dmais-wa-text) !important;
	font-family: Arial, sans-serif !important;
	font-size: 22px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	text-align: center !important;
	text-decoration: none !important;
	cursor: pointer !important;
	transition: background-color .18s ease, transform .18s ease !important;
}

body #dmais-wa-root .dmais-wa-header > button.dmais-wa-close:hover {
	border-color: rgba(255, 255, 255, .7) !important;
	background: rgba(255, 255, 255, .2) !important;
	background-color: rgba(255, 255, 255, .2) !important;
	color: var(--dmais-wa-text) !important;
	transform: scale(1.04) !important;
}

body #dmais-wa-root .dmais-wa-header > button.dmais-wa-close:focus-visible {
	outline: 2px solid #fff !important;
	outline-offset: 2px !important;
}

body #dmais-wa-root .dmais-wa-unread {
	all: unset !important;
	display: grid !important;
	place-items: center !important;
	box-sizing: border-box !important;
	position: absolute !important;
	top: -5px !important;
	right: -4px !important;
	z-index: 2 !important;
	width: 22px !important;
	min-width: 22px !important;
	height: 22px !important;
	min-height: 22px !important;
	padding: 0 !important;
	border: 2px solid #fff !important;
	border-radius: 999px !important;
	background: #fff !important;
	background-color: #fff !important;
	background-image: none !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .24) !important;
	color: #17212b !important;
	font-family: Arial, sans-serif !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	text-align: center !important;
}

body #dmais-wa-root button.dmais-wa-submit,
body #dmais-wa-root a.dmais-wa-whatsapp-action,
body #dmais-wa-root .dmais-wa-chat-form button {
	-webkit-appearance: none !important;
	appearance: none !important;
	background: var(--dmais-wa-theme) !important;
	background-color: var(--dmais-wa-theme) !important;
	background-image: none !important;
	color: var(--dmais-wa-text) !important;
	border: 0 !important;
	text-decoration: none !important;
}

body #dmais-wa-root .dmais-wa-panel input[type="text"],
body #dmais-wa-root .dmais-wa-panel input[type="tel"],
body #dmais-wa-root .dmais-wa-panel input[type="email"],
body #dmais-wa-root .dmais-wa-panel textarea {
	background: #fff !important;
	color: #152019 !important;
	border: 1px solid #cbd4ce !important;
	box-shadow: none !important;
}

@media (prefers-reduced-motion: reduce) {
	body #dmais-wa-root.dmais-wa-root > button.dmais-wa-launcher {
		animation: none !important;
		transition: none !important;
	}
}

/* A escolha explícita no painel ativa efeitos próprios, inclusive após a abertura automática. */
@keyframes dmais-wa-safe-pulse {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.08); }
}

@keyframes dmais-wa-safe-ring {
	0% { opacity: .58; transform: scale(1); }
	75%, 100% { opacity: 0; transform: scale(1.38); }
}

@keyframes dmais-wa-safe-glow {
	0% { filter: brightness(1) drop-shadow(0 0 2px var(--dmais-wa-theme)); }
	100% { filter: brightness(1.12) drop-shadow(0 0 11px var(--dmais-wa-theme)); }
}

@keyframes dmais-wa-safe-bounce {
	0%, 78%, 100% { transform: translateY(0); }
	84% { transform: translateY(-13px); }
	90% { transform: translateY(0); }
	95% { transform: translateY(-5px); }
}

@keyframes dmais-wa-safe-shake {
	0%, 82%, 100% { transform: rotate(0); }
	85%, 91%, 97% { transform: rotate(-8deg); }
	88%, 94% { transform: rotate(8deg); }
}

body #dmais-wa-root.dmais-wa-root > button.dmais-wa-launcher {
	animation: none !important;
}

body #dmais-wa-root.dmais-wa-animation-pulse .dmais-wa-launcher-motion {
	animation: dmais-wa-safe-pulse 1.8s ease-in-out infinite !important;
	will-change: transform !important;
}

body #dmais-wa-root.dmais-wa-animation-pulse .dmais-wa-launcher-motion::before {
	position: absolute !important;
	inset: 0 !important;
	z-index: -1 !important;
	border: 2px solid var(--dmais-wa-theme) !important;
	border-radius: inherit !important;
	content: "" !important;
	pointer-events: none !important;
	animation: dmais-wa-safe-ring 1.8s ease-out infinite !important;
}

body #dmais-wa-root.dmais-wa-animation-glow .dmais-wa-launcher-motion {
	animation: dmais-wa-safe-glow 1.35s ease-in-out infinite alternate !important;
	will-change: filter !important;
}

body #dmais-wa-root.dmais-wa-animation-bounce .dmais-wa-launcher-motion {
	animation: dmais-wa-safe-bounce 2.35s ease-in-out infinite !important;
	will-change: transform !important;
}

body #dmais-wa-root.dmais-wa-animation-shake .dmais-wa-launcher-motion {
	animation: dmais-wa-safe-shake 2.6s ease-in-out infinite !important;
	transform-origin: center !important;
	will-change: transform !important;
}

body #dmais-wa-root.dmais-wa-animation-none .dmais-wa-launcher-motion,
body #dmais-wa-root.dmais-wa-motion-waapi .dmais-wa-launcher-motion {
	animation: none !important;
}

body #dmais-wa-root.dmais-wa-animation-none .dmais-wa-launcher-motion {
	filter: none !important;
}

/* Convite lateral com seta e fechamento próprio, inspirado no comportamento de referência. */
body #dmais-wa-root.dmais-wa-root .dmais-wa-tooltip {
	position: absolute !important;
	bottom: 4px !important;
	display: flex !important;
	align-items: stretch !important;
	box-sizing: border-box !important;
	width: min(294px, calc(100vw - var(--dmais-wa-size) - var(--dmais-wa-x) - 30px)) !important;
	min-width: 180px !important;
	max-width: 294px !important;
	min-height: 54px !important;
	padding: 0 !important;
	border: 1px solid rgba(21, 32, 25, .08) !important;
	border-radius: 13px !important;
	background: #fff !important;
	background-color: #fff !important;
	box-shadow: 0 8px 28px rgba(8, 28, 17, .2) !important;
	color: #1f2923 !important;
	white-space: normal !important;
	opacity: 0 !important;
	visibility: hidden !important;
	transition: opacity .24s ease, transform .34s cubic-bezier(.22, 1, .36, 1), visibility 0s linear .34s !important;
	pointer-events: none !important;
}

body #dmais-wa-root.dmais-wa-right .dmais-wa-tooltip {
	right: calc(var(--dmais-wa-size) + 12px) !important;
	left: auto !important;
	transform: translateX(10px) scale(.97) !important;
	transform-origin: right center !important;
}

body #dmais-wa-root.dmais-wa-left .dmais-wa-tooltip {
	right: auto !important;
	left: calc(var(--dmais-wa-size) + 12px) !important;
	transform: translateX(-10px) scale(.97) !important;
	transform-origin: left center !important;
}

body #dmais-wa-root.dmais-wa-root .dmais-wa-tooltip.is-visible {
	opacity: 1 !important;
	visibility: visible !important;
	transform: translateX(0) scale(1) !important;
	transition-delay: 0s !important;
	pointer-events: auto !important;
}

body #dmais-wa-root.dmais-wa-root .dmais-wa-tooltip::after {
	position: absolute !important;
	top: 50% !important;
	width: 14px !important;
	height: 14px !important;
	border: 0 !important;
	background: #fff !important;
	content: "" !important;
	transform: translateY(-50%) rotate(45deg) !important;
}

body #dmais-wa-root.dmais-wa-right .dmais-wa-tooltip::after {
	right: -7px !important;
}

body #dmais-wa-root.dmais-wa-left .dmais-wa-tooltip::after {
	left: -7px !important;
}

body #dmais-wa-root .dmais-wa-tooltip > button.dmais-wa-tooltip-open {
	all: unset !important;
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	padding: 11px 34px 11px 13px !important;
	border-radius: inherit !important;
	color: #1f2923 !important;
	font-family: inherit !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
	cursor: pointer !important;
}

body #dmais-wa-root .dmais-wa-tooltip > button.dmais-wa-tooltip-open:focus-visible {
	outline: 3px solid #146ef5 !important;
	outline-offset: 2px !important;
}

body #dmais-wa-root .dmais-wa-tooltip > button.dmais-wa-tooltip-close {
	all: unset !important;
	position: absolute !important;
	top: 5px !important;
	right: 6px !important;
	z-index: 2 !important;
	display: grid !important;
	place-items: center !important;
	box-sizing: border-box !important;
	width: 25px !important;
	height: 25px !important;
	border-radius: 999px !important;
	color: #5e6a63 !important;
	font-family: Arial, sans-serif !important;
	font-size: 17px !important;
	line-height: 1 !important;
	cursor: pointer !important;
}

body #dmais-wa-root .dmais-wa-tooltip > button.dmais-wa-tooltip-close:hover,
body #dmais-wa-root .dmais-wa-tooltip > button.dmais-wa-tooltip-close:focus-visible {
	background: #eef3ef !important;
	color: #162019 !important;
}

/* Efeito do vídeo: o formulário nasce junto ao botão e se expande até o tamanho final. */
body #dmais-wa-root.dmais-wa-right .dmais-wa-panel {
	transform-origin: bottom right !important;
}

body #dmais-wa-root.dmais-wa-left .dmais-wa-panel {
	transform-origin: bottom left !important;
}

body #dmais-wa-root.dmais-wa-panel-effect-expand .dmais-wa-panel {
	opacity: 0 !important;
	visibility: hidden !important;
	transform: translateY(22px) scale(.18) !important;
	filter: blur(2px) !important;
	transition: opacity .22s ease, transform .38s cubic-bezier(.22, 1, .36, 1), filter .3s ease, visibility 0s linear .38s !important;
	will-change: transform, opacity !important;
}

body #dmais-wa-root.dmais-wa-panel-effect-expand.is-open .dmais-wa-panel {
	opacity: 1 !important;
	visibility: visible !important;
	transform: translateY(0) scale(1) !important;
	filter: none !important;
	transition-delay: 0s !important;
}

body #dmais-wa-root.dmais-wa-panel-effect-slide .dmais-wa-panel {
	opacity: 0 !important;
	visibility: hidden !important;
	transform: translateY(28px) !important;
	transition: opacity .22s ease, transform .34s cubic-bezier(.22, 1, .36, 1), visibility 0s linear .34s !important;
}

body #dmais-wa-root.dmais-wa-panel-effect-slide.is-open .dmais-wa-panel,
body #dmais-wa-root.dmais-wa-panel-effect-fade.is-open .dmais-wa-panel {
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	transition-delay: 0s !important;
}

body #dmais-wa-root.dmais-wa-panel-effect-fade .dmais-wa-panel {
	opacity: 0 !important;
	visibility: hidden !important;
	transform: none !important;
	transition: opacity .24s ease, visibility 0s linear .24s !important;
}

body #dmais-wa-root.dmais-wa-panel-effect-none .dmais-wa-panel,
body #dmais-wa-root.dmais-wa-panel-effect-none.is-open .dmais-wa-panel {
	transition: none !important;
}

/* Painel móvel: ocupa a altura visual disponível sem cortar formulário, CTA ou rodapé. */
@media (max-width: 600px) {
	html.dmais-wa-panel-open,
	html.dmais-wa-panel-open body {
		overflow: hidden !important;
		overscroll-behavior: none !important;
	}

	body #dmais-wa-root.dmais-wa-root .dmais-wa-panel[hidden] {
		display: none !important;
	}

	body #dmais-wa-root.dmais-wa-root .dmais-wa-panel {
		position: fixed !important;
		top: max(8px, env(safe-area-inset-top)) !important;
		right: max(8px, env(safe-area-inset-right)) !important;
		bottom: auto !important;
		left: max(8px, env(safe-area-inset-left)) !important;
		display: flex !important;
		flex-direction: column !important;
		box-sizing: border-box !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		height: calc(100vh - 16px) !important;
		height: calc(100dvh - max(8px, env(safe-area-inset-top)) - max(8px, env(safe-area-inset-bottom))) !important;
		min-height: 0 !important;
		max-height: none !important;
		margin: 0 !important;
		border-radius: 16px !important;
		overflow: hidden !important;
	}

	body #dmais-wa-root .dmais-wa-header {
		flex: 0 0 auto !important;
	}

	body #dmais-wa-root .dmais-wa-body {
		flex: 1 1 auto !important;
		box-sizing: border-box !important;
		min-height: 0 !important;
		max-height: none !important;
		padding-bottom: max(18px, env(safe-area-inset-bottom)) !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		overscroll-behavior: contain !important;
		-webkit-overflow-scrolling: touch !important;
		scrollbar-gutter: stable !important;
	}

	body #dmais-wa-root .dmais-wa-panel > footer {
		flex: 0 0 auto !important;
	}

	body #dmais-wa-root button.dmais-wa-submit {
		box-sizing: border-box !important;
		width: 100% !important;
		min-height: 44px !important;
		margin: 8px 0 0 !important;
		padding: 11px 15px !important;
	}
}

@media (max-width: 480px) {
	body #dmais-wa-root.dmais-wa-root .dmais-wa-tooltip {
		width: calc(100vw - var(--dmais-wa-size) - 42px) !important;
		min-width: 0 !important;
	}

	body #dmais-wa-root .dmais-wa-tooltip > button.dmais-wa-tooltip-open {
		padding: 10px 31px 10px 11px !important;
		font-size: 12px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	body #dmais-wa-root.dmais-wa-root .dmais-wa-tooltip,
	body #dmais-wa-root.dmais-wa-root .dmais-wa-panel {
		transition: none !important;
	}
}

@media (max-width: 600px) and (max-height: 650px) {
	body #dmais-wa-root.dmais-wa-root .dmais-wa-panel {
		top: max(5px, env(safe-area-inset-top)) !important;
		right: max(5px, env(safe-area-inset-right)) !important;
		bottom: auto !important;
		left: max(5px, env(safe-area-inset-left)) !important;
		height: calc(100vh - 10px) !important;
		height: calc(100dvh - max(5px, env(safe-area-inset-top)) - max(5px, env(safe-area-inset-bottom))) !important;
	}

	body #dmais-wa-root .dmais-wa-header {
		gap: 8px !important;
		padding: 10px 12px !important;
	}

	body #dmais-wa-root .dmais-wa-avatar {
		width: 36px !important;
		height: 36px !important;
	}

	body #dmais-wa-root .dmais-wa-header > button.dmais-wa-close {
		flex-basis: 32px !important;
		width: 32px !important;
		min-width: 32px !important;
		max-width: 32px !important;
		height: 32px !important;
		min-height: 32px !important;
		max-height: 32px !important;
	}

	body #dmais-wa-root .dmais-wa-body {
		padding: 10px 12px 14px !important;
	}

	body #dmais-wa-root .dmais-wa-bubble {
		margin-bottom: 8px !important;
		padding: 9px 11px !important;
	}

	body #dmais-wa-root .dmais-wa-form h3 {
		margin: 2px 0 !important;
		font-size: 17px !important;
	}

	body #dmais-wa-root .dmais-wa-form > p {
		margin-bottom: 6px !important;
	}

	body #dmais-wa-root .dmais-wa-form > label:not(.dmais-wa-consent) {
		margin-top: 6px !important;
	}

	body #dmais-wa-root .dmais-wa-form input[type="text"],
	body #dmais-wa-root .dmais-wa-form input[type="tel"],
	body #dmais-wa-root .dmais-wa-form input[type="email"] {
		height: 38px !important;
		min-height: 38px !important;
		margin-top: 3px !important;
	}

	body #dmais-wa-root .dmais-wa-consent {
		margin: 8px 0 5px !important;
		font-size: 10px !important;
		line-height: 1.12 !important;
	}

	body #dmais-wa-root .dmais-wa-error {
		min-height: 12px !important;
		margin: 3px 0 !important;
	}

	body #dmais-wa-root button.dmais-wa-submit {
		min-height: 40px !important;
		margin-top: 4px !important;
		padding: 9px 13px !important;
	}

	body #dmais-wa-root .dmais-wa-panel > footer {
		display: none !important;
	}
}
