/* «Liên hệ nhanh» — popup tư vấn (onecadvn-core #ocd-consult-dialog) trình bày lại + nút nổi. */
:root{--qc-grad:linear-gradient(120deg,#0061AE 0%,#107072 50%,#297A2D 100%);--qc-line:#E1E5EA;--qc-muted:#4B5260;--qc-zalo:#0068FF}

/* nút nổi */
.oc-fab{position:fixed;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:990;display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:6px 18px 6px 6px;border-radius:999px;background:#fff;color:#0B0D10!important;font:700 15px/1 "Be Vietnam Pro",system-ui,sans-serif;text-decoration:none!important;box-shadow:0 14px 34px -12px rgba(0,0,0,.45),0 0 0 1px rgba(0,0,0,.05);transition:transform .2s,box-shadow .2s}
.oc-fab:hover{transform:translateY(-2px);box-shadow:0 18px 40px -12px rgba(0,0,0,.5),0 0 0 1px rgba(0,0,0,.06)}
.oc-fab:focus-visible{outline:2px solid #0061AE;outline-offset:3px}
.oc-fab-ico{width:40px;height:40px;border-radius:50%;background:var(--qc-grad);color:#fff;display:flex;align-items:center;justify-content:center}
.oc-fab-dot{width:9px;height:9px;border-radius:50%;background:#22C55E;box-shadow:0 0 0 3px rgba(34,197,94,.25)}

/* hộp thoại */
dialog#ocd-consult-dialog.oc-qc-on{width:min(760px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:20px;background:#fff;color:#0B0D10;overflow:auto;box-shadow:0 40px 80px -30px rgba(0,0,0,.6);font-family:"Be Vietnam Pro",system-ui,sans-serif}
dialog#ocd-consult-dialog.oc-qc-on::backdrop{background:rgba(6,14,26,.55);backdrop-filter:blur(2px)}
#ocd-consult-dialog.oc-qc-on .ocd-contact-dialog-close-form{position:absolute;right:16px;top:16px;z-index:3;margin:0}
#ocd-consult-dialog.oc-qc-on .ocd-contact-dialog-close{width:40px;height:40px;border-radius:50%;border:1px solid var(--qc-line);background:#fff;color:var(--qc-muted);font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;box-shadow:none}
#ocd-consult-dialog.oc-qc-on .ocd-contact-dialog-close:hover{background:#F2F5F8;color:#000}
.oc-qc [hidden]{display:none!important}
.oc-qc-head{position:relative;padding:24px 72px 18px 24px;border-bottom:1px solid var(--qc-line)}
.oc-qc-head::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--qc-grad)}
.oc-qc-kick{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#107072}
.oc-qc-dot{width:8px;height:8px;border-radius:50%;background:#22C55E;box-shadow:0 0 0 3px rgba(34,197,94,.2)}
.oc-qc.is-off .oc-qc-dot{background:#F59E0B;box-shadow:0 0 0 3px rgba(245,158,11,.2)}
.oc-qc .oc-qc-title{margin:8px 0 4px!important;padding:0!important;font-size:24px!important;line-height:1.2!important;font-weight:800!important;letter-spacing:-.02em;color:#0B0D10!important;text-align:left;text-transform:none}
.oc-qc .oc-qc-title::before,.oc-qc .oc-qc-title::after{display:none!important}
.oc-qc .oc-qc-sub{margin:0;font-size:14.5px;line-height:1.55;color:var(--qc-muted)}
.oc-qc-ctx{display:inline-flex;margin-top:12px;padding:5px 12px;border-radius:999px;background:#EEF4FA;color:#0061AE;font-size:13px;font-weight:600}
.oc-qc-mt{display:none}
.oc-qc-cols{display:grid;grid-template-columns:1fr 1fr}
.oc-qc-ch,.oc-qc-form{padding:22px 24px 24px;min-width:0}
.oc-qc-ch{background:#FAFBFD;border-right:1px solid var(--qc-line)}
.oc-qc-lbl{display:block;font-size:13px;font-weight:700;margin:0 0 10px;color:#0B0D10}
.oc-qc-c{display:flex;align-items:center;gap:14px;width:100%;min-height:72px;padding:12px 14px;margin:0 0 10px;border:1px solid var(--qc-line);border-radius:14px;background:#fff;color:#0B0D10!important;text-decoration:none!important;text-align:left;font:inherit;cursor:pointer;transition:border-color .2s,transform .2s,box-shadow .2s}
.oc-qc-c:hover{border-color:#0061AE;transform:translateY(-1px);box-shadow:0 10px 24px -16px rgba(0,61,115,.5)}
.oc-qc-c:focus-visible,.oc-qc-back:focus-visible,.oc-qc-chips button:focus-visible{outline:2px solid #0061AE;outline-offset:2px}
.oc-qc-c>span:nth-child(2){flex:1;min-width:0}
.oc-qc-c b{display:block;font-size:16px;font-weight:700;line-height:1.3}
.oc-qc-c small{display:block;font-size:13px;line-height:1.4;color:var(--qc-muted)}
.oc-qc-c em{font-style:normal;margin-left:6px;padding:2px 8px;border-radius:999px;background:#E7F6EC;color:#1E6B33;font-size:11px;font-weight:700;vertical-align:2px}
.oc-qc-c>i{font-style:normal;color:var(--qc-muted);font-size:18px}
.oc-qc-i{flex:none;width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:14px}
.oc-qc-c.is-zalo{border-color:#B9D3FF;background:#F4F8FF}.oc-qc-c.is-zalo .oc-qc-i{background:var(--qc-zalo)}
.oc-qc-c.is-call .oc-qc-i{background:#0B0D10}
.oc-qc-c.is-mail .oc-qc-i{background:#EEF4FA;color:#0061AE}
.oc-qc-c.is-leave{display:none}.oc-qc-c.is-leave .oc-qc-i{background:var(--qc-grad)}
.oc-qc-back{display:none}

/* form CF7 bên trong */
.oc-qc .wpcf7{margin:0}
.oc-qc .wpcf7-form{margin:0;display:block!important}
.oc-qc .wpcf7-form>p{width:100%!important;max-width:none!important;margin:0}
.oc-qc .ocd-consult-fields{display:block;margin:0}
.oc-qc .ocd-consult-fields .form-group{width:100%;float:none;margin:0 0 12px;padding:0}
.oc-qc .ocd-consult-fields label{display:block;margin:0 0 6px;font-size:13px;font-weight:600;color:#33404D}
.oc-qc .ocd-consult-fields .form-control{width:100%;height:46px;padding:0 14px;border:1px solid #CBD7E3;border-radius:10px;background:#fff;font:inherit;font-size:15px;color:#0B0D10;box-shadow:none}
.oc-qc .ocd-consult-fields textarea.form-control{height:auto;min-height:88px;padding:10px 14px}
.oc-qc .ocd-consult-fields .form-control:focus{border-color:#0061AE;box-shadow:0 0 0 4px rgba(0,97,174,.12);outline:0}
.oc-qc .oc-qc-phone .form-control{height:54px;border:1.5px solid #0061AE;font-size:18px;font-weight:600;letter-spacing:.01em}
.oc-qc-chips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 6px}
.oc-qc-chips button{min-height:40px;padding:0 14px;border-radius:999px;border:1px solid #CBD7E3;background:#fff;color:#1A2733;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.oc-qc-chips button[aria-pressed="true"]{background:#0B0D10;border-color:#0B0D10;color:#fff}
.oc-qc-more{margin:12px 0 4px;border-top:1px dashed var(--qc-line)}
.oc-qc-more summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;cursor:pointer;font-size:14px;color:var(--qc-muted)}
.oc-qc-more summary::-webkit-details-marker{display:none}
.oc-qc-more summary small{font-size:13px}
.oc-qc-more[open] summary span{color:#0B0D10;font-weight:600}
.oc-qc-more-in{padding-top:6px}
.oc-qc .ocd-form-note{display:none}
.oc-qc .wpcf7-submit,.oc-qc input[type=submit]{display:flex!important;align-items:center;justify-content:center;width:100%!important;max-width:none!important;height:54px;padding:0 16px!important;margin:8px 0 0;border:0!important;border-radius:12px!important;background:var(--qc-grad)!important;background-size:100% 100%!important;color:#fff!important;font:700 16px "Be Vietnam Pro",system-ui,sans-serif!important;box-shadow:0 14px 28px -14px rgba(16,112,114,.8)!important;cursor:pointer;animation:none!important}
.oc-qc .wpcf7-spinner{display:block;margin:8px auto 0}
.oc-qc-fine{margin:10px 0 0;font-size:12px;color:#6B7686;text-align:center}
.oc-qc .wpcf7-response-output{margin:10px 0 0!important;padding:10px 12px!important;border-radius:10px;font-size:14px}
.oc-qc .wpcf7-not-valid-tip{font-size:13px;margin-top:4px}
.oc-qc .wpcf7-turnstile{margin:8px 0 0}

/* form Liên hệ rút gọn (trang Liên hệ + khối «Bắt đầu cùng OneCAD») */
[data-oc-ct-form] label[hidden]{display:none!important}
[data-oc-ct-form] .oc-qc-phone,[data-oc-ct-form] .oc-qc-phone .wpcf7-form-control-wrap{display:block;width:100%}
[data-oc-ct-form] .oc-qc-phone .form-control{width:100%!important;max-width:none!important;height:54px;border:1.5px solid #0061AE;font-size:18px;font-weight:600}
[data-oc-ct-form] .wpcf7-form>p{width:100%!important;margin:0}
[data-oc-ct-form] .wpcf7-form>p:not(:has(input,.wpcf7-spinner)){display:none}
[data-oc-ct-form] .wpcf7-submit{width:100%!important}
[data-oc-ct-form] .oc-qc-fine{margin:10px 0 0}

/* đã gửi */
.oc-qc-ok{padding:40px 28px 32px;text-align:center}
.oc-qc-ok-i{width:72px;height:72px;margin:0 auto 14px;border-radius:50%;background:#E7F6EC;color:#1E6B33;display:flex;align-items:center;justify-content:center}
.oc-qc-ok-i svg{width:34px;height:34px}
.oc-qc-ok .oc-qc-c{max-width:420px;margin:22px auto 0}

/* điện thoại: trượt từ dưới lên, 2 bước */
@media (max-width:759px){
 dialog#ocd-consult-dialog.oc-qc-on{width:100vw;max-width:100vw;margin:auto 0 0;max-height:92dvh;border-radius:22px 22px 0 0;padding-bottom:env(safe-area-inset-bottom,0px)}
 dialog#ocd-consult-dialog.oc-qc-on[open]{animation:ocQcUp .28s cubic-bezier(.2,.7,.2,1)}
 .oc-qc-head{padding:18px 64px 14px 18px}
 .oc-qc .oc-qc-title{font-size:21px!important}
 .oc-qc-dt{display:none}.oc-qc-mt{display:inline}
 .oc-qc-head>.oc-qc-sub{display:none}
 .oc-qc.is-off .oc-qc-head>.oc-qc-sub{display:block}
 .oc-qc-cols{display:block}
 .oc-qc-ch,.oc-qc-form{padding:16px 18px 22px;border:0;background:#fff}
 .oc-qc-ch>.oc-qc-lbl,.oc-qc-c.is-mail{display:none}
 .oc-qc-c.is-leave{display:flex}
 .oc-qc[data-step="1"] .oc-qc-form,.oc-qc[data-step="2"] .oc-qc-ch{display:none}
 .oc-qc-back{display:inline-flex;align-items:center;min-height:40px;margin:0 0 6px;padding:0;border:0;background:none;color:#107072;font:700 13px "Be Vietnam Pro",system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}
 .oc-fab{right:calc(14px + env(safe-area-inset-right,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px))}
}
@keyframes ocQcUp{from{transform:translateY(40px);opacity:.6}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){dialog#ocd-consult-dialog.oc-qc-on[open]{animation:none}.oc-fab,.oc-qc-c{transition:none}}
@media print{.oc-fab{display:none}}
