/* Scoped rules keep the popup independent of the active theme. */
#vcp-root, #vcp-root *, .vcp-trigger { box-sizing: border-box; }
#vcp-root { font-family: Arial, Helvetica, sans-serif; color: #111; font-size: 16px; line-height: 1.5; }
#vcp-dialog { position: fixed; inset: 0; width: min(724px, calc(100% - 32px)); max-width: 724px; max-height: calc(100dvh - 32px); margin: auto; padding: 0; border: 0; border-radius: 0; overflow: auto; background: #fff; color: #111; box-shadow: 0 12px 40px #0005; font-family: Arial, Helvetica, sans-serif; text-align: center; }
#vcp-dialog:not([open]) { display: none !important; }
#vcp-dialog[open] { display: block; }
#vcp-dialog::backdrop { background: rgb(0 0 0 / 62%); }
#vcp-dialog .vcp-panel { position: relative; padding: 14px 13px 18px; }
#vcp-dialog #vcp-title { display: block; margin: 0 24px 26px; padding: 0; font: 400 30px/1.3 Arial, Helvetica, sans-serif; color: #080808; letter-spacing: normal; text-transform: none; border: 0; }
#vcp-dialog .vcp-close { position: absolute; top: 0; right: 0; display: grid; place-items: center; width: 40px; height: 40px; min-width: 0; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--vcp-accent, #ff4b0a); font: 300 38px/1 Arial, sans-serif; box-shadow: none; cursor: pointer; text-transform: none; }
#vcp-dialog #vcp-form { display: block; margin: 0; padding: 0; }
#vcp-dialog .vcp-methods { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 28px; min-width: 0; margin: 0 0 15px; padding: 0; border: 0; }
#vcp-dialog .vcp-methods label { display: inline-flex; align-items: center; gap: 10px; margin: 0; padding: 0; font: 700 20px/1.4 Arial, sans-serif; color: #080808; cursor: pointer; text-transform: none; letter-spacing: normal; }
#vcp-dialog .vcp-methods input { appearance: auto; -webkit-appearance: radio; position: static; display: inline-block; width: 17px; height: 17px; min-width: 17px; margin: 0; padding: 0; opacity: 1; accent-color: #1686ff; box-shadow: none; }
#vcp-dialog .vcp-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 36px; margin: 0 0 18px; }
#vcp-dialog .vcp-field { min-width: 0; margin: 0; padding: 0; }
#vcp-dialog #vcp-phone, #vcp-dialog #vcp-car { position: static; display: block; width: 100%; max-width: 100%; height: 42px; min-height: 42px; margin: 0; padding: 8px 13px; border: 1px solid #ccc; border-radius: 0; background: #fff; box-shadow: none; color: #555; font: 400 17px/1.35 Arial, Helvetica, sans-serif; text-transform: none; letter-spacing: normal; }
#vcp-dialog #vcp-phone { appearance: none; -webkit-appearance: none; }
#vcp-dialog #vcp-phone::placeholder { color: #9299a2; opacity: 1; }
#vcp-dialog #vcp-car { appearance: auto; -webkit-appearance: menulist; background-image: none; padding-right: 5px; }
#vcp-dialog #vcp-car option { color: #444; background: #fff; }
#vcp-dialog #vcp-submit { display: inline-flex; align-items: center; justify-content: center; min-height: 57px; width: auto; margin: 0; padding: 10px 20px; border: 0; border-radius: 13px; background: var(--vcp-accent, #ff4b0a); color: #fff; box-shadow: none; font: 400 22px/1.3 Arial, Helvetica, sans-serif; text-transform: none; letter-spacing: normal; cursor: pointer; }
#vcp-dialog #vcp-submit:disabled { opacity: .65; cursor: wait; }
#vcp-dialog #vcp-consent { margin: 19px 10px 0; padding: 0; color: #111; font: 400 17px/1.65 Arial, Helvetica, sans-serif; }
#vcp-dialog #vcp-consent a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
#vcp-dialog #vcp-feedback { margin: 16px 0 0; padding: 11px 14px; border-radius: 5px; background: #edf8f0; color: #176331; font: 400 16px/1.5 Arial, Helvetica, sans-serif; }
#vcp-dialog #vcp-feedback.vcp-error { background: #fff1f0; color: #a12020; }
#vcp-dialog [hidden] { display: none !important; }
#vcp-dialog :is(button, input, select, a):focus-visible, #vcp-floating:focus-visible, .vcp-trigger:focus-visible { outline: 3px solid #1686ff; outline-offset: 3px; }
#vcp-dialog #vcp-phone:focus, #vcp-dialog #vcp-car:focus { border-color: #1686ff; box-shadow: 0 0 0 2px #1686ff25; }
#vcp-dialog .vcp-sr-only, #vcp-dialog .vcp-trap { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
#vcp-floating, .vcp-trigger { display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 999px; padding: 13px 22px; background: var(--vcp-accent, #ff4b0a); color: #fff; font: 700 16px/1.4 Arial, Helvetica, sans-serif; text-transform: none; letter-spacing: normal; cursor: pointer; text-decoration: none; }
#vcp-floating { position: fixed; z-index: 999990; right: max(22px, env(safe-area-inset-right)); bottom: max(22px, env(safe-area-inset-bottom)); width: auto; height: auto; min-height: 48px; margin: 0; box-shadow: 0 5px 22px #0003; }
#vcp-dialog button:hover, #vcp-floating:hover, .vcp-trigger:hover { filter: brightness(.96); }
body.vcp-modal-open { overflow: hidden !important; }
@media (max-width: 560px) {
    #vcp-dialog { width: calc(100% - 24px); max-height: calc(100dvh - 24px); border-radius: 8px; }
    #vcp-dialog .vcp-panel { padding: 27px 18px 22px; }
    #vcp-dialog #vcp-title { font-size: 24px; margin: 0 14px 22px; }
    #vcp-dialog .vcp-fields { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    #vcp-dialog #vcp-phone, #vcp-dialog #vcp-car { height: 48px; }
    #vcp-dialog #vcp-submit { width: 100%; font-size: 20px; min-height: 50px; }
    #vcp-dialog #vcp-consent { font-size: 14px; margin: 16px 0 0; }
    #vcp-floating { right: max(14px, env(safe-area-inset-right)); bottom: max(14px, env(safe-area-inset-bottom)); padding: 12px 18px; }
}
@media (prefers-reduced-motion: no-preference) {
    #vcp-dialog[open] { animation: vcp-appear .18s ease-out; }
    @keyframes vcp-appear { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
}
