/*
 * Widget del chat de preventa — usa la misma paleta de marca de KMO Legal
 * (ver codigo/kmolegal-pagina-principal.html) para que se vea como una
 * sola pieza con el resto del sitio.
 */
:root {
	--kmo-bg: #060b14;
	--kmo-bg-alt: #0a1626;
	--kmo-card: #0d1a2c;
	--kmo-border: rgba(120, 160, 210, 0.18);
	--kmo-blue: #1c74c9;
	--kmo-blue-bright: #1c8ee8;
	--kmo-blue-light: #4fa9dc;
	--kmo-silver: #c9d2db;
	--kmo-ink: #f3f6f9;
	--kmo-muted: #93a6bd;
	--kmo-radius: 16px;
}

.kmo-preventa-widget {
	position: fixed;
	right: 26px;
	/* 26px + 58px (alto del botón de WhatsApp) + 14px de aire, para no
	   quedar encima del botón flotante de WhatsApp del sitio. */
	bottom: 98px;
	z-index: 9998;
	font-family: 'Manrope', system-ui, sans-serif;
}

.kmo-preventa-toggle {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	border: none;
	cursor: pointer;
	position: relative;
	background: linear-gradient(145deg, var(--kmo-blue-bright), var(--kmo-blue));
	box-shadow:
		0 12px 28px rgba(6, 15, 30, 0.6),
		0 0 0 4px rgba(79, 169, 220, 0.16),
		0 0 0 1px rgba(255, 255, 255, 0.08) inset;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 26px;
	padding: 0;
	overflow: visible;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	animation: kmo-preventa-float 3.2s ease-in-out infinite;
}

.kmo-preventa-toggle::before {
	content: '';
	position: absolute;
	inset: -6px;
	border-radius: 50%;
	border: 1.5px solid rgba(79, 169, 220, 0.45);
	animation: kmo-preventa-pulse 2.4s ease-out infinite;
	pointer-events: none;
}

.kmo-preventa-toggle-icon {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	display: block;
	pointer-events: none;
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.15);
	/* Logo incrustado como data URI (en vez de una imagen externa) para
	   que siempre se vea, sin depender de que la carpeta public/images
	   haya llegado intacta al servidor. */
	background-image: url("data:image/jpeg;base64,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");
	background-size: cover;
	background-position: center;
}

.kmo-preventa-toggle:hover {
	transform: translateY(-3px) scale(1.06);
	box-shadow:
		0 18px 34px rgba(6, 15, 30, 0.65),
		0 0 0 5px rgba(79, 169, 220, 0.24),
		0 0 0 1px rgba(255, 255, 255, 0.1) inset;
}

@keyframes kmo-preventa-float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-5px); }
}

@keyframes kmo-preventa-pulse {
	0% { transform: scale(1); opacity: 0.6; }
	100% { transform: scale(1.35); opacity: 0; }
}

.kmo-preventa-panel {
	position: absolute;
	right: 0;
	bottom: 76px;
	width: min(340px, 90vw);
	height: min(480px, 70vh);
	max-height: 70vh;
	display: flex;
	flex-direction: column;
	background: var(--kmo-card);
	border: 1px solid var(--kmo-border);
	border-radius: var(--kmo-radius);
	box-shadow: 0 24px 60px rgba(6, 15, 30, 0.55);
	overflow: hidden;
}

.kmo-preventa-panel[hidden] {
	display: none;
}

.kmo-preventa-panel-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 16px;
	background: var(--kmo-bg-alt);
	border-bottom: 1px solid var(--kmo-border);
	flex-shrink: 0;
}

.kmo-preventa-panel-title {
	color: var(--kmo-ink);
	font-weight: 700;
	letter-spacing: 0.02em;
}

.kmo-preventa-close {
	background: none;
	border: none;
	color: var(--kmo-muted);
	font-size: 20px;
	cursor: pointer;
	line-height: 1;
}

.kmo-preventa-messages {
	flex: 1 1 auto;
	/* Clave del bug de "no se ven las respuestas": sin min-height:0, un
	   hijo flex dentro de un contenedor column no se encoge por debajo de
	   su contenido natural y termina empujando/tapando el scroll. */
	min-height: 0;
	overflow-y: auto;
	padding: 14px 16px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.kmo-preventa-msg {
	max-width: 88%;
	padding: 10px 12px;
	border-radius: 12px;
	font-size: 13.5px;
	line-height: 1.45;
	color: var(--kmo-ink);
}

.kmo-preventa-msg--bot {
	align-self: flex-start;
	background: var(--kmo-bg-alt);
	border: 1px solid var(--kmo-border);
	border-bottom-left-radius: 4px;
}

.kmo-preventa-msg--user {
	align-self: flex-end;
	background: linear-gradient(145deg, var(--kmo-blue-bright), var(--kmo-blue));
	border-bottom-right-radius: 4px;
}

.kmo-preventa-msg a.kmo-preventa-cta {
	display: inline-block;
	margin-top: 8px;
	padding: 7px 12px;
	border-radius: 999px;
	font-size: 12.5px;
	font-weight: 700;
	text-decoration: none;
	background: var(--kmo-blue-light);
	color: #06121f;
}

.kmo-preventa-msg a.kmo-preventa-cta + a.kmo-preventa-cta {
	margin-left: 6px;
}

.kmo-preventa-buttons {
	display: flex;
	flex-wrap: nowrap;
	gap: 6px;
	padding: 12px 16px;
	flex-shrink: 0;
	overflow-x: auto;
	border-bottom: 1px solid var(--kmo-border);
	scrollbar-width: thin;
}

.kmo-preventa-buttons::-webkit-scrollbar {
	height: 4px;
}

.kmo-preventa-buttons::-webkit-scrollbar-thumb {
	background: var(--kmo-border);
	border-radius: 999px;
}

.kmo-preventa-buttons button {
	border: 1px solid var(--kmo-border);
	background: transparent;
	color: var(--kmo-silver);
	border-radius: 999px;
	padding: 6px 10px;
	font-size: 12px;
	cursor: pointer;
	white-space: nowrap;
	flex: 0 0 auto;
	transition: background 0.15s ease, color 0.15s ease;
}

.kmo-preventa-buttons button:hover {
	background: var(--kmo-blue);
	color: var(--kmo-ink);
	border-color: var(--kmo-blue);
}

.kmo-preventa-form {
	display: flex;
	gap: 8px;
	padding: 12px 16px;
	border-top: 1px solid var(--kmo-border);
	background: var(--kmo-bg-alt);
	flex-shrink: 0;
}

/* Reglas defensivas con !important: el tema de WordPress trae sus propios
   estilos para "input[type=text]" (fondo claro, texto oscuro) que pueden
   ganar por especificidad y dejar el texto casi ilegible al escribir. */
.kmo-preventa-widget .kmo-preventa-form input[type='text'] {
	flex: 1;
	background: var(--kmo-bg) !important;
	border: 1px solid var(--kmo-border) !important;
	border-radius: 999px !important;
	padding: 8px 12px !important;
	color: var(--kmo-ink) !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
	box-shadow: none !important;
	caret-color: var(--kmo-blue-light);
	-webkit-text-fill-color: var(--kmo-ink);
}

.kmo-preventa-widget .kmo-preventa-form input[type='text']::placeholder {
	color: var(--kmo-muted) !important;
	opacity: 1 !important;
}

.kmo-preventa-widget .kmo-preventa-form input[type='text']:focus {
	outline: none !important;
	border-color: var(--kmo-blue-light) !important;
}

.kmo-preventa-form button {
	background: var(--kmo-blue-bright);
	color: #06121f;
	border: none;
	border-radius: 999px;
	padding: 8px 14px;
	font-weight: 700;
	font-size: 12.5px;
	cursor: pointer;
}

@media (max-width: 480px) {
	.kmo-preventa-widget {
		right: 14px;
		bottom: 84px;
	}
	.kmo-preventa-panel {
		width: min(320px, 92vw);
		height: min(70vh, 480px);
	}
}