html.cwb-contact-open { overflow: hidden; }
.cwb-contact-dialog { position: fixed; inset: 0; width: min(440px, calc(100% - 32px)); max-height: calc(100dvh - 32px); margin: auto; padding: 30px 24px 24px; overflow-y: auto; border: 1px solid #e8defd; border-radius: 24px; background: #fff; color: #18122c; font-family: inherit; box-shadow: 0 24px 80px rgba(25, 12, 55, .25); }
.cwb-contact-dialog:not([open]) { display: none; }
.cwb-contact-dialog, .cwb-contact-dialog * { box-sizing: border-box; }
.cwb-contact-dialog::backdrop { background: rgba(18, 12, 30, .48); }
.cwb-contact-dialog .cwb-contact-close { position: absolute; top: 12px; right: 12px; width: 36px; height: 36px; padding: 0; display: grid; place-items: center; border: 0; border-radius: 50%; background: #f3edff; color: #6c39ed; font: inherit; font-size: 18px; cursor: pointer; }
.cwb-contact-dialog #cwb-contact-title { margin: 0 28px 10px 0; color: #18122c; font-size: 23px; line-height: 1.25; font-weight: 600; }
.cwb-contact-dialog #cwb-contact-description { margin: 0 0 22px; color: #726c7e; font-size: 14px; line-height: 1.5; }
.cwb-contact-channels { display: grid; gap: 10px; }
.cwb-contact-dialog .cwb-contact-channel { display: flex; align-items: center; gap: 12px; padding: 13px 14px; border: 1px solid #eee8f8; border-radius: 14px; background: #fff; color: #18122c; text-decoration: none; min-height: 68px; transition: background .15s, border-color .15s; }
.cwb-contact-dialog .cwb-contact-channel:hover { background: #faf7ff; border-color: #c6adff; }
.cwb-contact-dialog a:focus-visible, .cwb-contact-dialog button:focus-visible { outline: 3px solid #6c39ed; outline-offset: 3px; }
.cwb-contact-icon { display: grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px; border-radius: 12px; background: #f1e9ff; color: #6c39ed; font-size: 20px; font-weight: 600; }
.cwb-contact-icon i { display: block; font-size: inherit; line-height: 1; }
.cwb-contact-icon img { display: block; width: 1em; height: 1em; object-fit: contain; }
.cwb-contact-channel--call .cwb-contact-icon i { font-size: 18px; }
.cwb-contact-channel--whatsapp .cwb-contact-icon { background: #e7f8ed; color: #168343; }
.cwb-contact-channel--telegram .cwb-contact-icon { background: #e6f3fd; color: #1886ba; }
.cwb-contact-channel--max .cwb-contact-icon { background: #eeeaff; color: #5b42d7; }
.cwb-contact-copy { display: flex; flex: 1; flex-direction: column; gap: 3px; min-width: 0; }
.cwb-contact-copy strong { font-size: 15px; font-weight: 600; }
.cwb-contact-copy small { color: #726c7e; font-size: 12px; line-height: 1.35; }
.cwb-contact-arrow { color: #9e8abd; font-size: 20px; }
@media (max-width: 600px) {
    .cwb-contact-dialog { top: auto; bottom: 0; width: 100%; max-width: none; max-height: calc(100dvh - 20px); margin: 0; padding: 30px 20px calc(20px + env(safe-area-inset-bottom)); border-radius: 24px 24px 0 0; }
    .cwb-contact-dialog.is-animated { transform: translateY(100%); transition: transform .3s cubic-bezier(.22, 1, .36, 1); }
    .cwb-contact-dialog.is-animated.is-visible { transform: translateY(0); }
    .cwb-contact-dialog.is-animated::backdrop { opacity: 0; transition: opacity .3s ease; }
    .cwb-contact-dialog.is-animated.is-visible::backdrop { opacity: 1; }
    .cwb-contact-dialog.is-closing { transition-duration: .22s; transition-timing-function: cubic-bezier(.4, 0, 1, 1); }
    .cwb-contact-dialog.is-closing::backdrop { transition-duration: .22s; }
}
@media (prefers-reduced-motion: reduce) {
    .cwb-contact-dialog.is-animated { transform: none; transition: none; }
    .cwb-contact-dialog.is-animated::backdrop { opacity: 1; transition: none; }
}
