.zodo-contact-dialog { width: min(480px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); margin: auto; padding: 28px; border: 1px solid #e5e7eb; border-radius: 8px; box-sizing: border-box; overflow-y: auto; color: #111827; background: #fff; font-family: Inter, system-ui, sans-serif; }
button.cp-method-link { border: 0; background: transparent; padding: 0; font: inherit; cursor: pointer; color: #2563eb; }
.zodo-contact-dialog::backdrop { background: rgb(17 24 39 / 45%); }
.zodo-contact-dialog h2 { margin: 0 32px 12px 0; font-size: 22px; line-height: 1.3; letter-spacing: 0; }
.zodo-contact-dialog p { font-size: 14px; line-height: 1.6; margin: 0 0 20px; color: #4b5563; }
.zodo-contact-close { position: absolute; top: 12px; right: 12px; width: 44px; height: 44px; font-size: 28px; border: 0; background: transparent; cursor: pointer; }
.zodo-contact-dialog label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; margin-bottom: 16px; }
.zodo-contact-names { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.zodo-contact-dialog input:not([type="checkbox"]), .zodo-contact-dialog textarea { width: 100%; min-width: 0; box-sizing: border-box; border: 1px solid #d1d5db; border-radius: 6px; padding: 10px 12px; font: inherit; font-size: 16px; background: #fff; color: #111827; }
.zodo-contact-dialog .zodo-contact-consent { flex-direction: row; align-items: flex-start; gap: 10px; line-height: 1.5; }
.zodo-contact-consent input { width: 18px; height: 18px; min-width: 18px; min-height: 18px; flex: 0 0 18px; margin-top: 3px; }
.zodo-contact-dialog a { color: #2563eb; text-decoration: underline; }
.zodo-contact-submit { min-height: 44px; padding: 12px 20px; border: 0; border-radius: 6px; background: #2563eb; color: #fff; font: inherit; cursor: pointer; }
.zodo-contact-submit:disabled { opacity: .65; cursor: wait; }
.zodo-contact-dialog [role="status"] { margin-top: 16px; margin-bottom: 0; }
.zodo-contact-dialog :focus-visible { outline: 2px solid #2563eb; outline-offset: 3px; }
.zodo-contact-dialog [hidden] { display: none !important; }
.zodo-chat-log { max-height: min(320px, 35dvh); overflow-y: auto; margin-bottom: 20px; border-block: 1px solid #e5e7eb; padding: 12px 0; overscroll-behavior: contain; }
.zodo-chat-message { margin: 0 0 12px 24px; padding: 10px 12px; border-radius: 6px; background: #eff6ff; overflow-wrap: anywhere; }
.zodo-chat-message.staff { margin: 0 24px 12px 0; background: #f3f4f6; }
.zodo-chat-message strong { font-size: 12px; }
.zodo-chat-message p { margin: 6px 0; color: #111827; white-space: pre-wrap; }
.zodo-chat-message time { font-size: 11px; color: #4b5563; }
@media (max-width: 359px) { .zodo-contact-dialog { padding: 20px; } .zodo-contact-names { grid-template-columns: minmax(0, 1fr); gap: 0; } }
