/* Gold Star AI Chat — navy & gold to match the site. */
#gsac-root {
	--gsac-navy: #0f2140;
	--gsac-navy-2: #18305a;
	--gsac-gold: #c9a24a;
	--gsac-gold-2: #e0bd6a;
	--gsac-bg: #ffffff;
	--gsac-soft: #f3f5f9;
	--gsac-text: #1b2333;
	--gsac-muted: #5d6677;
	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 99990;
	font: 15px/1.45 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: var(--gsac-text);
}
#gsac-root *, #gsac-root *::before, #gsac-root *::after { box-sizing: border-box; }
#gsac-root [hidden] { display: none !important; }

.gsac-launch {
	display: inline-flex; align-items: center; gap: 10px;
	padding: 13px 20px; border: 0; border-radius: 999px; cursor: pointer;
	background: var(--gsac-gold); color: var(--gsac-navy);
	font-weight: 700; font-size: 15px; line-height: 1; font-family: inherit; letter-spacing: .02em;
	box-shadow: 0 6px 20px rgba(15, 33, 64, .35);
}
.gsac-launch:hover { background: var(--gsac-gold-2); }
.gsac-launch.gsac-hide { display: none; }
.gsac-launch-dot { width: 10px; height: 10px; border-radius: 50%; background: #1fae5b; box-shadow: 0 0 0 3px rgba(31, 174, 91, .25); }

.gsac-panel {
	position: absolute; right: 0; bottom: 0;
	width: 380px; max-width: calc(100vw - 24px);
	height: 600px; max-height: calc(100vh - 36px);
	display: flex; flex-direction: column;
	background: var(--gsac-bg); border-radius: 16px; overflow: hidden;
	box-shadow: 0 18px 50px rgba(15, 33, 64, .35);
}
.gsac-head {
	display: flex; align-items: center; gap: 8px;
	padding: 12px 12px 12px 16px;
	background: var(--gsac-navy); color: #fff;
}
.gsac-title { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.gsac-title strong { font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gsac-sub { font-size: 12px; color: var(--gsac-gold-2); }
.gsac-talk {
	border: 1px solid var(--gsac-gold); background: transparent; color: var(--gsac-gold-2);
	border-radius: 999px; padding: 6px 10px; font-weight: 600; font-size: 12px; line-height: 1; font-family: inherit; cursor: pointer; white-space: nowrap;
}
.gsac-x { border: 0; background: transparent; color: #fff; font-size: 26px; line-height: 1; cursor: pointer; padding: 0 4px; }
.gsac-talk-menu { display: flex; flex-direction: column; background: var(--gsac-navy-2); padding: 6px; gap: 4px; }
.gsac-talk-opt {
	display: block; width: 100%; text-align: left; padding: 10px 12px; border-radius: 8px; border: 0;
	background: rgba(255, 255, 255, .08); color: #fff !important; text-decoration: none !important; font-weight: 500; font-size: 14px; line-height: 1.2; font-family: inherit; cursor: pointer;
}
.gsac-talk-opt:hover { background: rgba(255, 255, 255, .16); }

.gsac-log { flex: 1; overflow-y: auto; padding: 14px; background: var(--gsac-soft); display: flex; flex-direction: column; gap: 8px; }
.gsac-msg { max-width: 86%; padding: 9px 12px; border-radius: 14px; word-wrap: break-word; overflow-wrap: anywhere; }
.gsac-assistant { align-self: flex-start; background: #fff; border: 1px solid #e3e7ef; border-bottom-left-radius: 4px; }
.gsac-user { align-self: flex-end; background: var(--gsac-navy); color: #fff; border-bottom-right-radius: 4px; }
.gsac-msg a { color: inherit; text-decoration: underline; }
.gsac-note { align-self: center; font-size: 13px; color: var(--gsac-muted); text-align: center; padding: 2px 8px; }
.gsac-typing { display: inline-flex; gap: 4px; padding: 12px 14px; }
.gsac-typing i { width: 7px; height: 7px; border-radius: 50%; background: #9aa3b5; animation: gsac-b 1s infinite ease-in-out; }
.gsac-typing i:nth-child(2) { animation-delay: .15s; }
.gsac-typing i:nth-child(3) { animation-delay: .3s; }
@keyframes gsac-b { 0%, 80%, 100% { opacity: .3; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-3px); } }

.gsac-start { padding: 14px 16px 6px; background: #fff; border-top: 1px solid #e3e7ef; overflow-y: auto; }
.gsac-start-intro { margin: 0 0 10px; font-size: 14px; }
.gsac-field { display: block; margin-bottom: 8px; }
.gsac-field span { display: block; font-size: 12px; color: var(--gsac-muted); margin-bottom: 3px; }
.gsac-field input {
	width: 100%; padding: 10px 11px; border: 1px solid #cfd5e1; border-radius: 9px; font-size: 15px; font-family: inherit; color: var(--gsac-text); background: #fff;
}
.gsac-field input:focus, .gsac-input:focus { outline: 2px solid var(--gsac-gold); outline-offset: 0; border-color: var(--gsac-gold); }
.gsac-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.gsac-small { font-size: 12px; color: var(--gsac-muted); margin: 4px 0 8px; }
.gsac-err { color: #b42318; font-size: 13px; margin: 4px 0 8px; }
.gsac-primary {
	display: inline-block; width: 100%; text-align: center; padding: 12px; border: 0; border-radius: 10px;
	background: var(--gsac-gold); color: var(--gsac-navy) !important; font-weight: 700; font-size: 15px; line-height: 1.2; font-family: inherit; cursor: pointer; text-decoration: none !important;
}
.gsac-primary:hover { background: var(--gsac-gold-2); }
.gsac-pay { align-self: stretch; background: #fff; border: 1px solid var(--gsac-gold); border-radius: 12px; padding: 10px; }

.gsac-composer { display: flex; gap: 8px; padding: 10px; border-top: 1px solid #e3e7ef; background: #fff; }
.gsac-input {
	flex: 1; resize: none; min-height: 42px; max-height: 120px; padding: 10px 12px;
	border: 1px solid #cfd5e1; border-radius: 12px; font-size: 15px; line-height: 1.35; font-family: inherit; color: var(--gsac-text); background: #fff;
}
.gsac-send { width: 44px; border: 0; border-radius: 12px; background: var(--gsac-navy); color: var(--gsac-gold-2); font-size: 18px; cursor: pointer; }
.gsac-send:disabled { opacity: .5; cursor: default; }
.gsac-foot { font-size: 11px; color: var(--gsac-muted); text-align: center; padding: 6px 10px 8px; background: #fff; }
.gsac-foot a { color: var(--gsac-muted); }

@media (max-width: 520px) {
	#gsac-root { right: 12px; bottom: 12px; }
	.gsac-panel { position: fixed; inset: 0; width: 100vw; max-width: none; height: 100%; max-height: none; border-radius: 0; }
	.gsac-input, .gsac-field input { font-size: 16px; } /* stops iPhone zooming in */
}

.gsac-quick { display: flex; flex-wrap: wrap; gap: 6px; align-self: flex-start; max-width: 100%; }
.gsac-chip {
	border: 1px solid var(--gsac-gold); background: #fff; color: var(--gsac-navy);
	border-radius: 999px; padding: 7px 12px; font-weight: 600; font-size: 14px; font-family: inherit; cursor: pointer;
}
.gsac-chip:hover { background: #fbf5e6; }

/* "Chat & Book" menu link (any link to #chat): gold outlined button so it stands out without a bigger font. */
a[href$="#chat"]:not(.gsac-talk-opt) {
	color: #d4af37 !important;
	border: 2px solid #d4af37 !important;
	border-radius: 999px !important;
	padding: 4px 12px !important;
	line-height: 1.2 !important;
	transition: background .15s, color .15s;
}
a[href$="#chat"]:not(.gsac-talk-opt):hover,
a[href$="#chat"]:not(.gsac-talk-opt):focus {
	background: #d4af37 !important;
	color: #1b1b1b !important;
}
a[href$="#chat"]:not(.gsac-talk-opt)::after,
a[href$="#chat"]:not(.gsac-talk-opt)::before { display: none !important; }

/* Keep the header compact so a wrapped menu row doesn't cover the hero logo (Kubio header overlays the hero). */
@media (min-width: 768px) {
	.wp-block-kubio-navigation ul.menu:has(a[href$="#chat"]) {
		row-gap: 8px !important;
		column-gap: 30px !important;
	}
}
