/* Justo Zeal "Message us" chat box – all rules scoped under .jzse-msg.jzse-msg (beats theme styles). */
.jzse-msg.jzse-msg { --jzse-o: #f97316; --jzse-d: #1f1a17; --jzse-ink: #292524; --jzse-mute: #78716c; --jzse-line: #e7e5e4; --jzse-soft: #fff7ed; --jzse-wa: #15803d; font-family: "DM Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; color: var(--jzse-ink); line-height: 1.45; font-size: 15px; text-align: left; }
.jzse-msg.jzse-msg *, .jzse-msg.jzse-msg *::before, .jzse-msg.jzse-msg *::after { box-sizing: border-box; }
/* Reset theme (Astra / WooCommerce) element styles inside the widget */
.jzse-msg.jzse-msg button, .jzse-msg.jzse-msg input, .jzse-msg.jzse-msg textarea, .jzse-msg.jzse-msg label, .jzse-msg.jzse-msg a { margin: 0; min-width: 0; min-height: 0; max-width: 100%; letter-spacing: normal; text-transform: none; text-shadow: none; box-shadow: none; float: none; font-family: inherit; font-size: 15px; line-height: 1.3; vertical-align: middle; text-decoration: none; }
.jzse-msg.jzse-msg button { width: auto; height: auto; padding: 0; border: 0; border-radius: 0; background: none; color: inherit; font-weight: inherit; cursor: pointer; -webkit-appearance: none; appearance: none; }
.jzse-msg.jzse-msg button:focus-visible, .jzse-msg.jzse-msg input:focus-visible, .jzse-msg.jzse-msg textarea:focus-visible, .jzse-msg.jzse-msg a:focus-visible, .jzse-msg.jzse-msg label:focus-within { outline: 3px solid rgba(249,115,22,.55); outline-offset: 2px; }
.jzse-msg.jzse-msg [hidden] { display: none !important; }

/* Floating launcher: bottom-left by default (tawk.to sits bottom-right) */
.jzse-msg.jzse-msg--float { position: fixed; bottom: var(--jzse-msg-y, 20px); z-index: 99990; }
.jzse-msg.jzse-msg--left { left: var(--jzse-msg-x, 20px); }
.jzse-msg.jzse-msg--right { right: var(--jzse-msg-x, 20px); }
.jzse-msg.jzse-msg .jzse-msg__fab { display: inline-flex !important; align-items: center; gap: .5rem; background: var(--jzse-d) !important; color: #fff !important; border-radius: 999px !important; padding: .75rem 1.1rem .75rem .9rem !important; font-weight: 800 !important; font-size: 15px !important; line-height: 1 !important; box-shadow: 0 12px 28px -10px rgba(0,0,0,.55) !important; border: 2px solid var(--jzse-o) !important; min-height: 48px !important; }
.jzse-msg.jzse-msg .jzse-msg__fab:hover { background: #000 !important; }
.jzse-msg.jzse-msg .jzse-msg__fab-icon { font-size: 20px; line-height: 1; }
.jzse-msg.jzse-msg.is-open .jzse-msg__fab-label::after { content: " \2715"; font-size: 12px; }
.jzse-msg.jzse-msg--float .jzse-msg__panel { position: absolute; bottom: calc(100% + 12px); width: min(370px, calc(100vw - 24px)); height: min(580px, calc(100vh - 110px)); box-shadow: 0 24px 60px -18px rgba(0,0,0,.45); }
.jzse-msg.jzse-msg--left .jzse-msg__panel { left: 0; }
.jzse-msg.jzse-msg--right .jzse-msg__panel { right: 0; }
@media (max-width: 480px) {
	.jzse-msg.jzse-msg--float .jzse-msg__panel { position: fixed; left: 8px; right: 8px; width: auto; bottom: calc(var(--jzse-msg-y, 20px) + 60px); height: calc(100vh - var(--jzse-msg-y, 20px) - 80px); height: calc(100dvh - var(--jzse-msg-y, 20px) - 80px); }
}

/* Panel */
.jzse-msg.jzse-msg .jzse-msg__panel { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--jzse-line); border-radius: 20px; overflow: hidden; }
.jzse-msg.jzse-msg--inline .jzse-msg__panel { height: 560px; max-width: 560px; margin: 0 auto 1.5rem; box-shadow: 0 20px 40px -24px rgba(31,26,23,.35); }
.jzse-msg.jzse-msg .jzse-msg__head { display: flex; align-items: center; gap: .65rem; padding: .85rem 1rem; background: var(--jzse-d); color: #fff; background-image: radial-gradient(circle at 100% 0, rgba(249,115,22,.35), transparent 60%); }
.jzse-msg.jzse-msg .jzse-msg__avatar { width: 38px; height: 38px; flex: none; border-radius: 50%; background: var(--jzse-o); display: inline-flex; align-items: center; justify-content: center; font-size: 20px; }
.jzse-msg.jzse-msg .jzse-msg__who { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.jzse-msg.jzse-msg .jzse-msg__who strong { font-family: Syne, "DM Sans", sans-serif; font-size: 16px; color: #fff; }
.jzse-msg.jzse-msg .jzse-msg__who span { font-size: 12px; color: #d6d3d1; }
.jzse-msg.jzse-msg .jzse-msg__close { color: #fff !important; font-size: 26px !important; line-height: 1 !important; width: 34px !important; height: 34px !important; padding: 0 !important; border-radius: 50% !important; flex: none; }
.jzse-msg.jzse-msg .jzse-msg__close:hover { background: rgba(255,255,255,.12) !important; }

.jzse-msg.jzse-msg .jzse-msg__log { flex: 1; overflow-y: auto; padding: 1rem .85rem; display: flex; flex-direction: column; gap: .5rem; background: #fafaf9; overscroll-behavior: contain; }
.jzse-msg.jzse-msg .jzse-msg__bubble { max-width: 86%; padding: .6rem .8rem; border-radius: 16px; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 14.5px; animation: jzse-pop .18s ease-out; }
.jzse-msg.jzse-msg .jzse-msg__bubble--bot { align-self: flex-start; background: #fff; border: 1px solid var(--jzse-line); border-bottom-left-radius: 4px; }
.jzse-msg.jzse-msg .jzse-msg__bubble--me { align-self: flex-end; background: var(--jzse-o); color: #1c1917; font-weight: 600; border-bottom-right-radius: 4px; }
@keyframes jzse-pop { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.jzse-msg.jzse-msg .jzse-msg__summary { display: flex; flex-direction: column; gap: .15rem; white-space: normal; }
.jzse-msg.jzse-msg .jzse-msg__ref { color: #c2410c; font-size: 16px; }

/* Home: three options */
.jzse-msg.jzse-msg .jzse-msg__home { flex: 1; overflow-y: auto; padding: 1rem .85rem; display: flex; flex-direction: column; gap: .6rem; background: #fafaf9; }
.jzse-msg.jzse-msg .jzse-msg__flow { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.jzse-msg.jzse-msg .jzse-msg__lead { margin: 0 0 .2rem; font-weight: 700; color: #1c1917; font-size: 15px; }
.jzse-msg.jzse-msg .jzse-msg__opt { display: flex !important; align-items: center; gap: .75rem; width: 100% !important; text-align: left !important; padding: .85rem .9rem !important; border-radius: 14px !important; border: 2px solid var(--jzse-line) !important; background: #fff !important; color: var(--jzse-ink) !important; text-decoration: none !important; cursor: pointer; line-height: 1.25 !important; }
.jzse-msg.jzse-msg .jzse-msg__opt[hidden] { display: none !important; }
.jzse-msg.jzse-msg .jzse-msg__opt:hover { border-color: var(--jzse-o) !important; background: var(--jzse-soft) !important; }
.jzse-msg.jzse-msg .jzse-msg__opt-ico { flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 20px; background: var(--jzse-soft); }
.jzse-msg.jzse-msg .jzse-msg__opt-txt { display: flex; flex-direction: column; gap: .1rem; min-width: 0; }
.jzse-msg.jzse-msg .jzse-msg__opt-txt strong { font-size: 15.5px; font-weight: 800; }
.jzse-msg.jzse-msg .jzse-msg__opt-txt small { font-size: 12.5px; color: var(--jzse-mute); font-weight: 500; }
.jzse-msg.jzse-msg .jzse-msg__opt--wa { background: #25d366 !important; border-color: #25d366 !important; color: #06281a !important; box-shadow: 0 6px 16px -8px rgba(21,128,61,.8); }
.jzse-msg.jzse-msg .jzse-msg__opt--wa:hover { background: #1ebe5b !important; border-color: #1ebe5b !important; }
.jzse-msg.jzse-msg .jzse-msg__opt--wa .jzse-msg__opt-ico { background: rgba(255,255,255,.35); color: #06281a; }
.jzse-msg.jzse-msg .jzse-msg__opt--wa small { color: #14532d; }
.jzse-msg.jzse-msg .jzse-msg__opt--live .jzse-msg__opt-ico { background: #ede9fe; }
.jzse-msg.jzse-msg .jzse-msg__back { color: #fff !important; font-size: 28px !important; line-height: 1 !important; width: 30px !important; height: 34px !important; padding: 0 !important; flex: none; border-radius: 8px !important; }
.jzse-msg.jzse-msg .jzse-msg__back:hover { background: rgba(255,255,255,.12) !important; }
.jzse-msg.jzse-msg .jzse-msg__wa-ico { display: inline-block; flex: none; vertical-align: middle; }
.jzse-msg.jzse-msg .jzse-msg__chip--wa { display: inline-flex !important; align-items: center; gap: .35rem; border-color: #25d366 !important; color: #15803d !important; text-decoration: none !important; }
.jzse-msg.jzse-msg .jzse-msg__chip--wa:hover { background: #f0fdf4 !important; border-color: #15803d !important; }
.jzse-msg.jzse-msg .jzse-msg__fab-wa { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: #25d366; color: #fff; margin-left: -.15rem; }
.jzse-msg.jzse-msg.is-open .jzse-msg__fab-wa { display: none; }
.jzse-msg.jzse-msg .jzse-msg__fab { position: relative; }
.jzse-msg.jzse-msg .jzse-msg__badge { position: absolute; top: -6px; right: -6px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px; background: #dc2626; color: #fff; font-size: 12px; font-weight: 800; line-height: 20px; text-align: center; }
/* While the tawk.to window is open, our launcher steps aside so the two never overlap. */
.jzse-msg.jzse-msg--float.is-tawk-open { display: none !important; }

/* Composer */
.jzse-msg.jzse-msg .jzse-msg__composer { border-top: 1px solid var(--jzse-line); padding: .7rem; background: #fff; display: flex; flex-direction: column; gap: .45rem; max-height: 55%; overflow-y: auto; }
.jzse-msg.jzse-msg .jzse-msg__chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.jzse-msg.jzse-msg .jzse-msg__chip { border: 2px solid var(--jzse-line) !important; border-radius: 999px !important; padding: .45rem .8rem !important; font-size: 13.5px !important; font-weight: 700 !important; background: #fff !important; color: var(--jzse-ink) !important; }
.jzse-msg.jzse-msg .jzse-msg__chip:hover { border-color: var(--jzse-o) !important; background: var(--jzse-soft) !important; }
.jzse-msg.jzse-msg .jzse-msg__row { display: flex; gap: .45rem; align-items: flex-end; }
.jzse-msg.jzse-msg .jzse-msg__input { flex: 1; width: 100%; border: 2px solid var(--jzse-line) !important; border-radius: 14px !important; padding: .6rem .75rem !important; background: #fff !important; color: var(--jzse-ink) !important; font-size: 16px !important; line-height: 1.35 !important; height: auto !important; resize: vertical; }
.jzse-msg.jzse-msg .jzse-msg__input:focus { border-color: var(--jzse-o) !important; outline: none; }
.jzse-msg.jzse-msg .jzse-msg__send { flex: 0 0 44px !important; width: 44px !important; height: 44px !important; border-radius: 50% !important; background: var(--jzse-o) !important; color: var(--jzse-d) !important; font-size: 18px !important; line-height: 1 !important; padding: 0 !important; display: inline-flex !important; align-items: center; justify-content: center; }
.jzse-msg.jzse-msg .jzse-msg__err { color: #b91c1c; font-size: 13px; font-weight: 600; margin: 0; min-height: 0; }
.jzse-msg.jzse-msg .jzse-msg__err:empty { display: none; }
.jzse-msg.jzse-msg .jzse-msg__hint { color: var(--jzse-mute); font-size: 12px; margin: 0; }
.jzse-msg.jzse-msg .jzse-msg__link { color: #c2410c !important; font-weight: 700 !important; font-size: 13.5px !important; text-decoration: underline !important; align-self: flex-start; padding: 0 !important; }
.jzse-msg.jzse-msg .jzse-msg__actions { display: flex; gap: .45rem; flex-wrap: wrap; }
.jzse-msg.jzse-msg .jzse-msg__actions--stack { flex-direction: column; }
.jzse-msg.jzse-msg .jzse-msg__btn { display: inline-flex !important; align-items: center; justify-content: center; gap: .4rem; flex: 1 1 auto; border: 2px solid var(--jzse-line) !important; background: #fff !important; color: var(--jzse-ink) !important; border-radius: 12px !important; padding: .65rem .9rem !important; font-weight: 800 !important; font-size: 14.5px !important; line-height: 1.2 !important; cursor: pointer; text-align: center; }
.jzse-msg.jzse-msg .jzse-msg__btn--primary { background: var(--jzse-o) !important; border-color: var(--jzse-o) !important; color: var(--jzse-d) !important; }
.jzse-msg.jzse-msg .jzse-msg__btn--wa { background: var(--jzse-wa) !important; border-color: var(--jzse-wa) !important; color: #fff !important; }
.jzse-msg.jzse-msg .jzse-msg__btn[disabled] { opacity: .6; cursor: wait; }
.jzse-msg.jzse-msg .jzse-msg__file { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0; overflow: hidden; }
.jzse-msg.jzse-msg .jzse-msg__thumbs { display: flex; gap: .45rem; flex-wrap: wrap; }
.jzse-msg.jzse-msg .jzse-msg__thumbs:empty { display: none; }
.jzse-msg.jzse-msg .jzse-msg__thumb { position: relative; width: 64px; height: 64px; border-radius: 10px; overflow: hidden; border: 1px solid var(--jzse-line); }
.jzse-msg.jzse-msg .jzse-msg__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.jzse-msg.jzse-msg .jzse-msg__x { position: absolute !important; top: 2px; right: 2px; width: 22px !important; height: 22px !important; border-radius: 50% !important; background: rgba(0,0,0,.65) !important; color: #fff !important; font-size: 14px !important; line-height: 1 !important; padding: 0 !important; }
.jzse-msg.jzse-msg .jzse-msg__hp { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }
@media (prefers-reduced-motion: reduce) { .jzse-msg.jzse-msg .jzse-msg__bubble { animation: none; } }
@media print { .jzse-msg.jzse-msg--float { display: none !important; } }

/* v1.5.1: while the estimator's quote buttons float at the bottom of the screen, lift the launcher above them. */
body.jzse-cta-stuck .jzse-msg.jzse-msg--float { bottom: calc(var(--jzse-msg-y, 20px) + 100px) !important; transition: bottom .2s ease; }
@media (min-width: 640px) {
	body.jzse-cta-stuck .jzse-msg.jzse-msg--float { bottom: calc(var(--jzse-msg-y, 20px) + 110px) !important; }
}
