/*
 * Widget del chat de preventa — usa la paleta de la imagen corporativa de
 * Social Media Lawyers (azul marino #1D2846, dorado #DFC689; ver
 * pagina-principal/smlaws-pagina-principal.html) para que se vea como una
 * sola pieza con el resto del sitio.
 */
:root {
	--sml-bg: #141c33;
	--sml-bg-alt: #18203a;
	--sml-card: #1d2846;
	--sml-border: rgba(213, 214, 212, 0.18);
	--sml-gold: #dfc689;
	--sml-gold-bright: #e9d6a3;
	--sml-gold-light: #e6d3a1;
	--sml-silver: #d5d6d4;
	--sml-ink: #f4f4f2;
	--sml-muted: #a3a6b0;
	--sml-radius: 16px;
}

.sml-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: 'Arimo', Helvetica, Arial, sans-serif;
}

.sml-preventa-toggle {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	border: none;
	cursor: pointer;
	position: relative;
	background: linear-gradient(145deg, var(--sml-gold-bright), var(--sml-gold));
	box-shadow:
		0 12px 28px rgba(6, 15, 30, 0.6),
		0 0 0 4px rgba(223, 198, 137, 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: sml-preventa-float 3.2s ease-in-out infinite;
}

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

.sml-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);
	/* Isotipo de Social Media Lawyers 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/png;base64,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");
	background-size: cover;
	background-position: center;
}

.sml-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(223, 198, 137, 0.24),
		0 0 0 1px rgba(255, 255, 255, 0.1) inset;
}

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

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

.sml-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(--sml-card);
	border: 1px solid var(--sml-border);
	border-radius: var(--sml-radius);
	box-shadow: 0 24px 60px rgba(6, 15, 30, 0.55);
	overflow: hidden;
}

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

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

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

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

.sml-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;
}

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

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

.sml-preventa-msg--user {
	align-self: flex-end;
	background: linear-gradient(145deg, var(--sml-gold-bright), var(--sml-gold));
	color: #1d2846;
	border-bottom-right-radius: 4px;
}

.sml-preventa-msg a.sml-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(--sml-gold-light);
	color: #1d2846;
}

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

/* Lista con ✓ (ej. "¿Qué incluye la membresía?"). */
.sml-preventa-msg ul.sml-preventa-checklist {
	list-style: none !important;
	margin: 8px 0 2px !important;
	padding: 0 !important;
	display: grid;
	gap: 7px;
}
.sml-preventa-msg ul.sml-preventa-checklist li {
	display: flex;
	gap: 8px;
	align-items: flex-start;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.45;
}
.sml-preventa-msg ul.sml-preventa-checklist li::before {
	content: none !important;
}
.sml-preventa-check {
	flex: none;
	width: 18px;
	height: 18px;
	margin-top: 1px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	font-weight: 700;
	color: var(--sml-gold-light);
	background: rgba(223, 198, 137, 0.16);
	border: 1px solid rgba(223, 198, 137, 0.5);
}

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

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

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

.sml-preventa-buttons button {
	border: 1px solid var(--sml-border);
	background: transparent;
	color: var(--sml-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;
}

.sml-preventa-buttons button:hover {
	background: var(--sml-gold);
	color: #1d2846;
	border-color: var(--sml-gold);
}

.sml-preventa-form {
	display: flex;
	gap: 8px;
	padding: 12px 16px;
	border-top: 1px solid var(--sml-border);
	background: var(--sml-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. */
.sml-preventa-widget .sml-preventa-form input[type='text'] {
	flex: 1;
	background: var(--sml-bg) !important;
	border: 1px solid var(--sml-border) !important;
	border-radius: 999px !important;
	padding: 8px 12px !important;
	color: var(--sml-ink) !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
	box-shadow: none !important;
	caret-color: var(--sml-gold-light);
	-webkit-text-fill-color: var(--sml-ink);
}

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

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

.sml-preventa-form button {
	background: var(--sml-gold-bright);
	color: #1d2846;
	border: none;
	border-radius: 999px;
	padding: 8px 14px;
	font-weight: 700;
	font-size: 12.5px;
	cursor: pointer;
}

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