/* Positioning is opt-in per node. Without JS, all existing defaults remain active. */
body .wa__btn_popup[data-gato-contact-drag],
body .elementor-element-de468f1[data-gato-contact-drag="email"],
body .gato-local-inquiry-launcher[data-gato-contact-drag] {
	touch-action: none;
	user-select: none;
	-webkit-user-select: none;
	-webkit-touch-callout: none;
	cursor: grab;
}
/* Keep the launcher's existing red appearance after pointer drag leaves it focused. */
body .gato-local-inquiry-launcher[data-gato-contact-drag]:focus {
	background: #e60000;
	color: #fff;
}
body .gato-local-inquiry-launcher[data-gato-contact-drag]:focus:hover { background: #cc0000; }
body .wa__btn_popup[data-gato-contact-positioned],
body .elementor-element.elementor-element-de468f1.elementor-fixed[data-gato-contact-positioned],
body .gato-local-inquiry-launcher[data-gato-contact-positioned] {
	position: fixed !important;
	left: var(--gato-contact-x) !important;
	top: var(--gato-contact-y) !important;
	right: auto !important;
	bottom: auto !important;
}
body .elementor-element-de468f1[data-gato-contact-drag="email"] .elementor-icon {
	cursor: grab;
	touch-action: none;
	-webkit-user-drag: none;
}
body .elementor-element-de468f1[data-gato-dragging] .elementor-icon { cursor: grabbing; }
/* The legacy mobile rule hides a fixed bottom slot. This button now avoids
   protected content using its actual rectangle instead. */
body.gato-local-contact-controls-suppressed .elementor-element.elementor-element-de468f1.elementor-fixed[data-gato-contact-drag="email"] {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	transform: none !important;
}
body [data-gato-contact-drag][data-gato-dragging] {
	cursor: grabbing;
	transition: none !important;
	transform: none !important;
}
/* Retain geometry for later recovery when neither edge has room. */
body [data-gato-contact-no-space],
body [data-gato-contact-no-space] * {
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}
body.gato-local-whatsapp-no-space .wa__popup_chat_box {
	display: none !important;
}
body .wa__btn_popup[data-gato-dragging] .wa__btn_popup_txt { visibility: hidden !important; }
body .wa__btn_popup[data-gato-contact-side="left"] .wa__btn_popup_txt {
	left: 100% !important; right: auto !important; margin-left: 7px !important; margin-right: 0 !important;
}
body .wa__btn_popup[data-gato-contact-side="right"] .wa__btn_popup_txt {
	right: 100% !important; left: auto !important; margin-right: 7px !important; margin-left: 0 !important;
}
body .wa__popup_chat_box[data-gato-contact-panel] {
	left: var(--gato-panel-x) !important;
	top: var(--gato-panel-y) !important;
	right: auto !important; bottom: auto !important;
	width: var(--gato-panel-width) !important;
	max-width: var(--gato-panel-width) !important;
	max-height: var(--gato-panel-height) !important;
	overflow-y: auto;
	overscroll-behavior: contain;
}
.gato-contact-position-menu {
	position: fixed; z-index: 1000000000;
	box-sizing: border-box; width: 240px; max-width: calc(100vw - 32px);
	max-height: var(--gato-menu-height, calc(100dvh - 32px)); overflow: auto;
	padding: 6px; margin: 0; border: 1px solid #d4dbe0; border-radius: 10px;
	background: #fff; box-shadow: 0 6px 28px #0003;
	font: 14px/1.4 system-ui, sans-serif; color: #1a1a1a;
}
.gato-contact-position-menu[hidden] { display: none !important; }
.gato-contact-position-menu button {
	display: block; box-sizing: border-box; width: 100%; min-height: 44px;
	border: 0; border-radius: 6px; padding: 10px 12px; margin: 0;
	background: #fff; color: #1a1a1a; font: inherit; text-align: start; cursor: pointer;
}
.gato-contact-position-menu button:hover,
.gato-contact-position-menu button:focus-visible { background: #eaf6fc; outline: 2px solid #0091db; outline-offset: -2px; }
.gato-contact-drag-sr {
	position: absolute !important; width: 1px !important; height: 1px !important;
	padding: 0 !important; margin: -1px !important; overflow: hidden !important;
	clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important;
}
.gato-contact-safe-area {
	position: fixed; pointer-events: none; visibility: hidden;
	padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
}
@media (prefers-reduced-motion: reduce) {
	body [data-gato-contact-drag], body .wa__popup_chat_box[data-gato-contact-panel] { transition: none !important; }
}

/* Match the existing 60px WhatsApp and native Tawk circles in the local frontend.
   Their 30px / 32px symbols remain the visual reference for the envelope. */
body .elementor-element.elementor-element-de468f1.elementor-widget-icon .elementor-icon {
	box-sizing: border-box;
	width: 60px;
	height: 60px;
	padding: 0;
	font-size: 30px;
	align-items: center;
	justify-content: center;
}
body .elementor-element.elementor-element-de468f1.elementor-widget-icon .elementor-icon svg {
	width: 30px;
	height: 30px;
	flex: 0 0 30px;
}
