/* Magnet Concierge widget. Brand: navy #01263a, gold #bd9035, light gold #dec89a, Jost. */
#mpic-root { --mpic-navy: #01263a; --mpic-gold: #bd9035; --mpic-gold-light: #dec89a; --mpic-ink: #333; --mpic-line: #e6e1d6;
	position: fixed; right: 20px; bottom: 84px; z-index: 99990; font-family: Jost, "Helvetica Neue", Arial, sans-serif; color: var(--mpic-ink); }
#mpic-root *, #mpic-root *::before, #mpic-root *::after { box-sizing: border-box; }

.mpic-launch { display: flex; align-items: center; gap: 10px; margin-left: auto; padding: 12px 18px 12px 14px; border: 0; border-radius: 30px;
	background: var(--mpic-navy); color: #fff; font: 500 15px/1 Jost, "Helvetica Neue", Arial, sans-serif; letter-spacing: 0.02em; cursor: pointer;
	box-shadow: 0 6px 20px rgba(1, 38, 58, 0.28); transition: transform 0.15s ease, box-shadow 0.15s ease; }
.mpic-launch:hover { transform: translateY(-1px); box-shadow: 0 8px 24px rgba(1, 38, 58, 0.34); }
.mpic-launch:focus-visible, .mpic-close:focus-visible, .mpic-send:focus-visible { outline: 2px solid var(--mpic-gold); outline-offset: 2px; }
.mpic-launch-icon { width: 22px; height: 22px; border-radius: 50%; border: 2px solid var(--mpic-gold-light); position: relative; flex: none; }
.mpic-launch-icon::after { content: ""; position: absolute; left: 4px; bottom: -5px; width: 7px; height: 7px; background: var(--mpic-navy);
	border-left: 2px solid var(--mpic-gold-light); border-bottom: 2px solid var(--mpic-gold-light); transform: skewY(-30deg); }
.mpic-is-open .mpic-launch { display: none; }

.mpic-panel { width: 370px; height: 560px; max-height: calc(100vh - 110px); display: flex; flex-direction: column; background: #fff;
	border-radius: 14px; overflow: hidden; box-shadow: 0 18px 50px rgba(1, 38, 58, 0.3); border: 1px solid var(--mpic-line); }
.mpic-panel[hidden] { display: none; }
.mpic-head { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; background: var(--mpic-navy); color: #fff;
	border-bottom: 2px solid var(--mpic-gold); }
.mpic-title { font-size: 16px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; color: var(--mpic-gold-light); }
.mpic-close { border: 0; background: transparent; color: #fff; font-size: 26px; line-height: 1; cursor: pointer; padding: 0 4px; }

.mpic-log { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 10px; background: #faf8f4; }
.mpic-msg { max-width: 86%; padding: 10px 13px; border-radius: 12px; font-size: 15px; line-height: 1.45; word-wrap: break-word; }
.mpic-bot { align-self: flex-start; background: #fff; border: 1px solid var(--mpic-line); border-bottom-left-radius: 4px; }
.mpic-guest { align-self: flex-end; background: var(--mpic-navy); color: #fff; border-bottom-right-radius: 4px; }
.mpic-msg a { color: var(--mpic-gold); text-decoration: underline; }
.mpic-guest a { color: var(--mpic-gold-light); }
.mpic-typing { display: flex; gap: 4px; padding: 13px 14px; }
.mpic-typing span { width: 7px; height: 7px; border-radius: 50%; background: var(--mpic-gold); opacity: 0.35; animation: mpic-dot 1.2s infinite; }
.mpic-typing span:nth-child(2) { animation-delay: 0.2s; }
.mpic-typing span:nth-child(3) { animation-delay: 0.4s; }
@keyframes mpic-dot { 0%, 80%, 100% { opacity: 0.35; } 40% { opacity: 1; } }

.mpic-form { display: flex; gap: 8px; align-items: flex-end; padding: 10px 12px; border-top: 1px solid var(--mpic-line); background: #fff; }
.mpic-input { flex: 1; resize: none; border: 1px solid var(--mpic-line); border-radius: 10px; padding: 9px 11px; font: 15px/1.4 Jost, "Helvetica Neue", Arial, sans-serif;
	color: var(--mpic-ink); max-height: 120px; background: #fff; }
.mpic-input:focus { outline: none; border-color: var(--mpic-gold); }
.mpic-send { border: 0; border-radius: 10px; padding: 10px 16px; background: var(--mpic-gold); color: #fff; font: 500 14px/1 Jost, "Helvetica Neue", Arial, sans-serif;
	letter-spacing: 0.04em; cursor: pointer; }
.mpic-send:disabled { opacity: 0.5; cursor: default; }
.mpic-note { padding: 6px 12px 9px; font-size: 11.5px; color: #7a7f83; text-align: center; background: #fff; }

@media (max-width: 600px) {
	#mpic-root { right: 12px; bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
	.mpic-launch-text { display: none; }
	.mpic-launch { padding: 13px; }
	#mpic-root.mpic-is-open { left: 0; right: 0; bottom: 0; top: 0; z-index: 2147483000; } /* full screen, above the site's sticky bar */
	#mpic-root.mpic-is-open .mpic-panel { width: 100%; height: 100%; max-height: none; border-radius: 0; border: 0; }
	.mpic-input { font-size: 16px; } /* prevents iOS zoom on focus */
}
@media (prefers-reduced-motion: reduce) { .mpic-launch, .mpic-typing span { transition: none; animation: none; } }
