#whtc-root { --whtc-forest: #12302d; --whtc-forest-dark: #0b2423; --whtc-gold: #c8a76b; --whtc-ink: #25302c; font-family: Arial, Helvetica, sans-serif; color: var(--whtc-ink); }
#whtc-root * { box-sizing: border-box; }
.whtc-launcher { position: fixed; z-index: 999998; right: 24px; bottom: 24px; display: flex; flex-direction: column; align-items: center; gap: 2px; width: 136px; min-height: 132px; padding: 9px 10px 12px; border: 1px solid #b89c67; border-radius: 22px; background: var(--whtc-forest); color: #fff; box-shadow: 0 12px 34px #08221d38; font: 600 14px/1.2 Arial, sans-serif; cursor: pointer; }
.whtc-launcher:hover, .whtc-launcher:focus-visible { background: var(--whtc-forest-dark); outline: 3px solid #d2ba85; outline-offset: 2px; }
.whtc-launcher__avatar { display: block; flex: none; width: 76px; height: 76px; object-fit: contain; }
.whtc-launcher__text { display: flex; flex-direction: column; align-items: center; gap: 3px; text-align: center; }
.whtc-launcher__title { font-size: 17px; font-weight: 700; line-height: 1.1; }
.whtc-launcher__subtitle { color: #e7dfcf; font-size: 11px; font-weight: 400; line-height: 1.2; }
.whtc-panel { position: fixed; z-index: 999999; right: 24px; bottom: 170px; display: flex; flex-direction: column; width: min(390px, calc(100vw - 32px)); height: min(530px, calc(100dvh - 184px)); overflow: hidden; border: 1px solid #e2ddd2; border-radius: 18px; background: #fcfbf7; box-shadow: 0 18px 54px #08221d40; }
.whtc-panel[hidden] { display: none; }
.whtc-head { position: relative; display: flex; justify-content: center; align-items: center; padding: 10px 16px 13px; background: var(--whtc-forest); color: #fff; }
.whtc-brand { display: flex; flex-direction: column; gap: 2px; align-items: center; min-width: 0; text-align: center; }
.whtc-brand__avatar { display: block; flex: none; width: 72px; height: 72px; object-fit: contain; }
.whtc-eyebrow { display: block; color: #dbcaa3; font-size: 9px; letter-spacing: .14em; line-height: 1.5; }
.whtc-title { display: block; font-family: Georgia, serif; font-size: 19px; font-weight: 500; line-height: 1.15; }
.whtc-subtitle { display: block; margin-top: 2px; color: #e7dfcf; font-size: 11px; line-height: 1.2; }
.whtc-head__actions { position: absolute; right: 10px; top: 10px; display: flex; align-items: center; gap: 5px; }
.whtc-close { min-width: 40px; min-height: 40px; border: 0; border-radius: 8px; background: transparent; color: white; cursor: pointer; }
.whtc-close { font-size: 27px; line-height: 1; }
.whtc-close:focus-visible, .whtc-topic:focus-visible, .whtc-human:focus-visible, .whtc-send:focus-visible, .whtc-input:focus-visible, .whtc-contact-select:focus-visible, .whtc-contact-input:focus-visible, .whtc-contact-submit:focus-visible { outline: 3px solid var(--whtc-gold); outline-offset: 2px; }
.whtc-messages { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 18px 15px 8px; }
.whtc-message { width: fit-content; max-width: 90%; margin: 0 0 12px; padding: 11px 13px; border-radius: 12px; font-size: 13px; line-height: 1.5; white-space: pre-wrap; }
.whtc-message--bot { background: #f1eee5; border-top-left-radius: 3px; }
.whtc-message--guest { margin-left: auto; background: var(--whtc-forest); color: #fff; border-top-right-radius: 3px; }
.whtc-typing { display: flex; align-items: center; gap: 5px; min-width: 55px; min-height: 41px; }
.whtc-typing__dot { width: 6px; height: 6px; border-radius: 50%; background: #47665b; animation: whtc-typing-pulse 1.1s ease-in-out infinite; }
.whtc-typing__dot:nth-child(2) { animation-delay: .16s; }
.whtc-typing__dot:nth-child(3) { animation-delay: .32s; }
@keyframes whtc-typing-pulse { 0%, 65%, 100% { opacity: .35; transform: translateY(0); } 32% { opacity: 1; transform: translateY(-3px); } }
.whtc-message__link { display: block; margin-top: 7px; color: #1c514b; font-weight: 700; text-decoration: underline; }
.whtc-map-pin { color: #1c514b; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; overflow-wrap: anywhere; }
.whtc-map-pin:focus-visible { outline: 2px solid #1c514b; outline-offset: 2px; }
.whtc-options { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 12px; }
.whtc-topic { min-height: 35px; padding: 6px 10px; border: 1px solid #c4d0ca; border-radius: 999px; background: #fff; color: var(--whtc-forest); font: 600 11px/1.25 Arial, sans-serif; cursor: pointer; }
.whtc-topic:hover { border-color: var(--whtc-forest); background: #eaf0e9; }
.whtc-human { min-height: 40px; margin-bottom: 12px; padding: 8px 13px; border: 1px solid var(--whtc-forest); border-radius: 9px; background: #fff; color: var(--whtc-forest); font-weight: 700; cursor: pointer; }
.whtc-preview-note { margin: 0 0 12px; font-size: 11px; color: #56625b; }
.whtc-contact-offer { max-width: 95%; margin: 0 0 14px; padding: 12px; border: 1px solid #d8d1c1; border-radius: 12px; background: #f7f4eb; }
.whtc-contact-offer__intro { margin: 0 0 10px; font-size: 13px; line-height: 1.45; }
.whtc-contact-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 8px; }
.whtc-contact-select, .whtc-contact-input { min-width: 0; min-height: 40px; padding: 7px; border: 1px solid #b8c7bd; border-radius: 8px; background: #fff; color: #182927; font: 12px Arial, sans-serif; }
.whtc-contact-submit { grid-column: 1 / -1; min-height: 40px; padding: 8px; border: 0; border-radius: 8px; background: var(--whtc-forest); color: #fff; font: 700 12px Arial, sans-serif; cursor: pointer; }
.whtc-contact-submit:disabled { opacity: .6; cursor: wait; }
.whtc-form { display: flex; gap: 7px; padding: 11px 14px 6px; border-top: 1px solid #e7e4dc; }
.whtc-input { flex: 1; min-width: 0; min-height: 44px; padding: 10px; border: 1px solid #bdc9c0; border-radius: 10px; color: #182927; background: #fff; font: 13px Arial, sans-serif; }
.whtc-send { min-height: 44px; padding: 9px 12px; border: 0; border-radius: 10px; background: var(--whtc-forest); color: #fff; font: 700 12px Arial, sans-serif; cursor: pointer; }
.whtc-send:hover { background: var(--whtc-forest-dark); }
.whtc-send:disabled { opacity: .6; cursor: wait; }
.whtc-disclosure { margin: 0; padding: 2px 14px 10px; color: #43544e; font-size: 11px; line-height: 1.35; text-align: center; }
.whtc-disclosure a { color: #123d35; font-weight: 700; text-decoration: underline; }
@media (max-width: 520px) { .whtc-launcher { right: 16px; bottom: 16px; width: 116px; min-height: 116px; } .whtc-launcher__avatar { width: 62px; height: 62px; } .whtc-panel { right: 8px; bottom: 145px; width: calc(100vw - 16px); height: min(560px, calc(100dvh - 160px)); } }
@media (max-width: 360px) { .whtc-eyebrow { display: none; } .whtc-head { padding: 12px; } }
@media (prefers-reduced-motion: reduce) { .whtc-panel, .whtc-launcher { scroll-behavior: auto; } .whtc-typing__dot { animation: none; opacity: .75; } }
