.wowrsvp-assistant .wowrsvp-assistant-launch,
.wowrsvp-assistant .wowrsvp-desktop-label,
.wowrsvp-assistant .wowrsvp-mobile-label {
	text-transform: none !important;
}
.wowrsvp-assistant {
	position: fixed;
	right: 22px;
	bottom: 22px;
	z-index: 999999;
	font-family: Arial, Helvetica, sans-serif;
}

.wowrsvp-assistant-launch {
	font-family: Arial, Helvetica, sans-serif;
	border: 0;
	background: #000 !important;
	color: #fff !important;
	border-radius: 999px !important;
	padding: 13px 20px;
	min-height: 42px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	border: 0 !important;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	box-shadow: 0 8px 25px rgba(0,0,0,.16);
	transition: transform .18s ease, box-shadow .18s ease;
}

.wowrsvp-assistant-launch:hover {
	transform: translateY(-1px);
	box-shadow: 0 10px 30px rgba(0,0,0,.22);
}

.wowrsvp-mobile-label {
	display: none;
}

.wowrsvp-assistant-panel[hidden] {
	display: none !important;
}

.wowrsvp-assistant-panel {
	position: absolute;
	right: 0;
	bottom: 52px;
	width: min(360px, calc(100vw - 32px));
	background: #fff;
	border: 1px solid rgba(0,0,0,.09);
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 18px 55px rgba(0,0,0,.18);
}

.wowrsvp-assistant-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 17px;
	background: #111;
	color: #fff;
}

.wowrsvp-assistant-header strong,
.wowrsvp-assistant-header span {
	display: block;
}

.wowrsvp-assistant-header strong {
	font-size: 14px;
}

.wowrsvp-assistant-header span {
	margin-top: 3px;
	font-size: 11px;
	opacity: .72;
}

.wowrsvp-assistant-close {
	border: 0;
	background: transparent !important;
	color: #fff !important;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 30px !important;
	font-weight: 400;
	line-height: 30px;
	width: 34px;
	height: 34px;
	min-width: 34px;
	padding: 0 !important;
	margin: 0;
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	-webkit-appearance: none;
	appearance: none;
	box-shadow: none !important;
}

.wowrsvp-assistant-messages {
	max-height: 330px;
	overflow-y: auto;
	padding: 14px;
}

.wowrsvp-assistant-message {
	max-width: 88%;
	padding: 10px 12px;
	border-radius: 12px;
	margin-bottom: 9px;
	font-size: 13px;
	line-height: 1.5;
}

.wowrsvp-assistant-bot {
	background: #f4f4f4;
	color: #222;
	margin-right: auto;
}

.wowrsvp-assistant-user {
	background: #111;
	color: #fff;
	margin-left: auto;
}

.wowrsvp-assistant-action {
	margin: -2px 0 12px;
}

.wowrsvp-assistant-action a {
	display: inline-block;
	background: #111;
	color: #fff !important;
	text-decoration: none !important;
	border-radius: 999px;
	padding: 9px 13px;
	font-size: 12px;
	font-weight: 600;
}

.wowrsvp-assistant-suggestions {
	padding: 0 14px 10px;
}

.wowrsvp-assistant .wowrsvp-assistant-suggestions button {
	display: block;
	width: 100%;
	text-align: left;
	border: 1px solid #e5e5e5;
	background: #fff;
	border-radius: 10px;
	padding: 9px 11px;
	margin: 6px 0;
	font: inherit;
	font-size: 12px;
	color: #222;
	cursor: pointer;
}

.wowrsvp-assistant-suggestions button:hover {
	background: #f7f7f7;
}

.wowrsvp-assistant-form {
	display: flex;
	gap: 7px;
	padding: 10px;
	border-top: 1px solid #eee;
}

.wowrsvp-assistant-input {
	flex: 1;
	min-width: 0;
	border: 1px solid #ddd;
	border-radius: 999px;
	padding: 9px 12px;
	font: inherit;
	font-size: 12px;
	outline: none;
}

.wowrsvp-assistant-input:focus {
	border-color: #999;
}

.wowrsvp-assistant-form button {
	font-family: Arial, Helvetica, sans-serif;
	width: 36px;
	height: 36px;
	border: 0;
	border-radius: 50%;
	background: #111;
	color: #fff;
	cursor: pointer;
}

@media (max-width: 600px) {
	.wowrsvp-assistant {
		right: 14px;
		bottom: 62px;
	}

	.wowrsvp-desktop-label {
		display: none;
	}

	.wowrsvp-mobile-label {
		display: inline;
	}

	.wowrsvp-assistant-launch {
		padding: 12px 17px;
		min-height: 40px;
		font-size: 12px;
		border-radius: 999px !important;
	}

	.wowrsvp-assistant-panel {
		right: -2px;
		bottom: 49px;
		width: min(350px, calc(100vw - 28px));
		border-radius: 15px;
	}

	.wowrsvp-assistant-messages {
		max-height: 45vh;
	}
}


/* Prevent the mobile launch capsule from flashing before JavaScript loads. */
@media (max-width: 767px) {
	.wowrsvp-assistant .wowrsvp-assistant-launch.wowrsvp-mobile-scroll-hidden {
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
		transform: translateY(8px);
	}
}
