.ath-cb {
	--ath-cb-color: #b07c4d;
	--ath-cb-text: #1a2b48;
	--ath-cb-muted: #5e6d77;
	--ath-cb-bg: #ffffff;
	--ath-cb-soft: #f4f1ed;
	position: fixed;
	bottom: 20px;
	z-index: 99990;
	font-family: inherit;
	font-size: 15px;
	line-height: 1.45;
	color: var(--ath-cb-text);
}
.ath-cb[data-position="right"] { right: 20px; }
.ath-cb[data-position="left"] { left: 20px; }
.ath-cb *, .ath-cb *::before, .ath-cb *::after { box-sizing: border-box; }

.ath-cb__toggle {
	width: 60px; height: 60px; border-radius: 50%; border: 0; cursor: pointer;
	background: var(--ath-cb-color); color: #fff;
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .25);
	transition: transform .15s ease;
	margin-left: auto;
}
.ath-cb[data-position="left"] .ath-cb__toggle { margin-left: 0; }
.ath-cb__toggle:hover { transform: scale(1.06); }
.ath-cb__toggle:focus-visible, .ath-cb button:focus-visible, .ath-cb a:focus-visible, .ath-cb input:focus-visible, .ath-cb textarea:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--ath-cb-color) 45%, #fff); outline-offset: 2px;
}

.ath-cb__panel {
	position: absolute; bottom: 74px;
	width: 370px; max-width: calc(100vw - 32px);
	height: 560px; max-height: calc(100vh - 120px);
	display: flex; flex-direction: column;
	background: var(--ath-cb-bg); border-radius: 16px; overflow: hidden;
	box-shadow: 0 14px 40px rgba(0, 0, 0, .25);
}
.ath-cb__panel[hidden] { display: none; }
.ath-cb[data-position="right"] .ath-cb__panel { right: 0; }
.ath-cb[data-position="left"] .ath-cb__panel { left: 0; }

.ath-cb__header { display: flex; align-items: center; gap: 10px; padding: 12px 14px; background: var(--ath-cb-color); color: #fff; }
.ath-cb__avatar { width: 38px; height: 38px; flex: 0 0 38px; border-radius: 50%; background: rgba(255, 255, 255, .2); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.ath-cb__avatar img { width: 100%; height: 100%; object-fit: cover; }
.ath-cb__avatar svg { width: 22px; height: 22px; }
.ath-cb__title { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.ath-cb__title strong { font-size: 16px; color: #fff; }
.ath-cb__reset { align-self: flex-start; background: none; border: 0; padding: 0; color: rgba(255, 255, 255, .85); font-size: 12px; text-decoration: underline; cursor: pointer; }
.ath-cb__close { background: none; border: 0; color: #fff; cursor: pointer; padding: 4px; display: flex; }

.ath-cb__log { flex: 1; overflow-y: auto; padding: 14px; background: var(--ath-cb-soft); display: flex; flex-direction: column; gap: 10px; }
.ath-cb__row { display: flex; flex-direction: column; gap: 6px; max-width: 92%; }
.ath-cb__row--bot { align-self: flex-start; }
.ath-cb__row--me { align-self: flex-end; align-items: flex-end; }
.ath-cb__bubble { padding: 9px 13px; border-radius: 14px; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, .06); word-wrap: break-word; }
.ath-cb__bubble p { margin: 0 0 6px; }
.ath-cb__bubble p:last-child { margin-bottom: 0; }
.ath-cb__bubble ul, .ath-cb__bubble ol { margin: 4px 0 6px 18px; padding: 0; }
.ath-cb__bubble a { color: var(--ath-cb-color); text-decoration: underline; }
.ath-cb__row--bot .ath-cb__bubble { border-bottom-left-radius: 4px; }
.ath-cb__row--me .ath-cb__bubble { background: var(--ath-cb-color); color: #fff; border-bottom-right-radius: 4px; }

.ath-cb__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.ath-cb__chips-label { width: 100%; font-size: 12px; color: var(--ath-cb-muted); }
.ath-cb__chip {
	border: 1px solid var(--ath-cb-color); background: #fff; color: var(--ath-cb-color);
	border-radius: 16px; padding: 5px 11px; font-size: 13px; cursor: pointer; text-align: left;
}
.ath-cb__chip:hover, .ath-cb__chip--primary { background: var(--ath-cb-color); color: #fff; }

.ath-cb__tours { display: flex; flex-direction: column; gap: 6px; width: 100%; }
.ath-cb__tour { display: flex; gap: 10px; background: #fff; border-radius: 10px; overflow: hidden; text-decoration: none; color: inherit; box-shadow: 0 1px 2px rgba(0, 0, 0, .08); }
.ath-cb__tour:hover { box-shadow: 0 2px 8px rgba(0, 0, 0, .15); }
.ath-cb__tour img { width: 84px; height: 84px; object-fit: cover; flex: 0 0 84px; }
.ath-cb__tour-body { display: flex; flex-direction: column; padding: 8px 8px 8px 0; min-width: 0; }
.ath-cb__tour-body strong { font-size: 14px; line-height: 1.3; }
.ath-cb__tour-body small { color: var(--ath-cb-muted); }
.ath-cb__tour-cta { margin-top: auto; color: var(--ath-cb-color); font-size: 13px; font-weight: 600; }

.ath-cb__typing .ath-cb__bubble { display: flex; gap: 4px; padding: 12px 14px; }
.ath-cb__typing span { width: 7px; height: 7px; border-radius: 50%; background: #b9b2aa; animation: ath-cb-dot 1.2s infinite ease-in-out; }
.ath-cb__typing span:nth-child(2) { animation-delay: .15s; }
.ath-cb__typing span:nth-child(3) { animation-delay: .3s; }
@keyframes ath-cb-dot { 0%, 80%, 100% { transform: translateY(0); opacity: .5; } 40% { transform: translateY(-5px); opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .ath-cb__typing span { animation: none; } .ath-cb__toggle { transition: none; } }

.ath-cb__wa {
	display: flex; align-items: center; justify-content: center; gap: 6px;
	padding: 7px; background: #e9f7ef; color: #128c4b; font-size: 13px; font-weight: 600; text-decoration: none;
	border-top: 1px solid #d5eadd;
}
.ath-cb__wa:hover { background: #dcf3e6; color: #0d6e3a; }

.ath-cb__form { display: flex; gap: 8px; padding: 10px; border-top: 1px solid #eee; background: #fff; }
.ath-cb__input { flex: 1; min-width: 0; border: 1px solid #ddd; border-radius: 20px; padding: 9px 14px; font-size: 15px; color: var(--ath-cb-text); background: #fff; }
.ath-cb__send { width: 40px; height: 40px; flex: 0 0 40px; border-radius: 50%; border: 0; background: var(--ath-cb-color); color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; }

.ath-cb__lead { background: #fff; border-radius: 12px; padding: 10px; display: flex; flex-direction: column; gap: 6px; width: 100%; box-shadow: 0 1px 2px rgba(0, 0, 0, .08); }
.ath-cb__lead-field { display: flex; flex-direction: column; gap: 2px; font-size: 13px; color: var(--ath-cb-muted); }
.ath-cb__lead-field input, .ath-cb__lead-field textarea { border: 1px solid #ddd; border-radius: 8px; padding: 7px 9px; font-size: 14px; color: var(--ath-cb-text); width: 100%; }
.ath-cb__lead-submit { border: 0; border-radius: 8px; background: var(--ath-cb-color); color: #fff; padding: 9px; font-weight: 600; cursor: pointer; }
.ath-cb__lead-submit[disabled] { opacity: .6; cursor: wait; }
.ath-cb__privacy { color: var(--ath-cb-muted); font-size: 11px; }
.ath-cb__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.ath-cb__ok { background: #e9f7ef; color: #0d6e3a; border-radius: 10px; padding: 8px 12px; font-size: 14px; }
.ath-cb__err { color: #a12622; font-size: 13px; }

/* Traveler's full-screen mobile booking panel is open: step aside. */
body:has(.fixed-on-mobile.open) .ath-cb { display: none; }

@media (max-width: 480px) {
	.ath-cb { bottom: 14px; }
	.ath-cb[data-position="right"] { right: 14px; }
	.ath-cb[data-position="left"] { left: 14px; }
	.ath-cb.is-open .ath-cb__panel {
		position: fixed; inset: 0; width: 100vw; max-width: none; height: 100%; max-height: none; border-radius: 0;
	}
	.ath-cb.is-open .ath-cb__toggle { display: none; }
}
