/* Quote contact panel — every class, ID and variable is prefixed "qcp-". */
.qcp-dock,.qcp-panel,.qcp-reopen{
  --qcp-brand:#0a2d94;--qcp-brand-dark:#072172;--qcp-wa:#25d366;--qcp-mail:#e24b3b;
  font-family:"Poppins",system-ui,sans-serif;
}

/* Dock */
.qcp-dock{position:fixed;top:50%;right:0;transform:translateY(-50%);z-index:1040;width:52px;
  display:flex;flex-direction:column;border-radius:14px 0 0 14px;overflow:hidden;
  box-shadow:-6px 8px 24px rgba(10,45,148,.25);transition:transform .3s ease}
.qcp-dock a,.qcp-dock button{border:0;color:#fff;text-decoration:none;display:flex;align-items:center;
  justify-content:center;width:100%;height:56px;font-size:1.35rem;transition:filter .2s}
.qcp-dock a:hover,.qcp-dock button:hover{filter:brightness(1.12)}
.qcp-dock a:focus-visible,.qcp-dock button:focus-visible,.qcp-reopen:focus-visible{outline:3px solid #fff;outline-offset:-3px}
.qcp-dock .qcp-quote{background:var(--qcp-brand);height:auto;padding:18px 0;font-size:.85rem;font-weight:500;
  writing-mode:vertical-rl;transform:rotate(180deg);gap:.5rem;letter-spacing:.02em}
.qcp-dock .qcp-quote i{transform:rotate(90deg);font-size:1rem}
.qcp-dock .qcp-wa{background:var(--qcp-wa)}
.qcp-dock .qcp-mail{background:var(--qcp-mail)}
.qcp-dock .qcp-dock-toggle{height:36px;background:#111;font-size:1rem}
.qcp-dock.qcp-is-hidden{transform:translate(100%,-50%)}
.qcp-dock.qcp-is-hidden+.qcp-reopen{display:flex}
.qcp-reopen{display:none;position:fixed;top:50%;right:0;transform:translateY(-50%);z-index:1040;
  width:30px;height:64px;border:0;background:var(--qcp-brand);color:#fff;border-radius:12px 0 0 12px;
  align-items:center;justify-content:center}

/* Panel */
.offcanvas.qcp-panel{--bs-offcanvas-width:min(420px,100vw);border:0;border-radius:20px 0 0 20px;z-index:1050}
.qcp-panel-head{background:linear-gradient(135deg,var(--qcp-brand),#1d4fd8);color:#fff;
  border-radius:20px 0 0 0;padding:1.5rem 1.5rem 1.25rem}
.qcp-panel-head h2{font-size:1.25rem;font-weight:600;margin:0}
.qcp-panel-head p{margin:.25rem 0 0;font-size:.85rem;opacity:.85}
.qcp-panel .offcanvas-body{padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,0px))}

.qcp-panel .form-floating>.form-control{border-radius:14px;border-color:#d7dcea;background:#fff}
.qcp-panel .form-floating>textarea.form-control{height:140px;border-radius:18px;resize:none}
.qcp-panel .form-control:focus{border-color:var(--qcp-brand);box-shadow:0 0 0 .25rem rgba(10,45,148,.15)}
.qcp-panel .form-floating>label{color:#6b7280;font-size:.9rem}

.qcp-btn{--bs-btn-bg:var(--qcp-brand);--bs-btn-border-color:var(--qcp-brand);--bs-btn-color:#fff;
  --bs-btn-hover-bg:var(--qcp-brand-dark);--bs-btn-hover-border-color:var(--qcp-brand-dark);--bs-btn-hover-color:#fff;
  --bs-btn-active-bg:var(--qcp-brand-dark);--bs-btn-active-border-color:var(--qcp-brand-dark);--bs-btn-active-color:#fff;
  --bs-btn-disabled-bg:var(--qcp-brand);--bs-btn-disabled-border-color:var(--qcp-brand);--bs-btn-disabled-color:#fff;
  border-radius:999px;padding:.8rem 1rem;font-weight:600;font-size:1.05rem}
.qcp-counter{font-size:.75rem;color:#6b7280}
.qcp-alt a{color:var(--qcp-brand);text-decoration:none;font-weight:500}

.qcp-success{display:none;text-align:center;padding:3rem 1rem}
.qcp-tick{width:72px;height:72px;border-radius:50%;background:#e7f8ee;color:#198754;display:grid;
  place-items:center;font-size:2.2rem;margin:0 auto 1rem}
.qcp-is-sent .qcp-form{display:none}
.qcp-is-sent .qcp-success{display:block}

@media (max-width:575.98px){
  .qcp-dock{width:44px}
  .qcp-dock a,.qcp-dock button{height:50px;font-size:1.2rem}
  .qcp-dock .qcp-dock-toggle{height:32px}
  .offcanvas.qcp-panel{border-radius:0}
  .qcp-panel-head{border-radius:0;padding:1.25rem}
}
@media (max-height:480px){.qcp-dock a,.qcp-dock button{height:42px}.qcp-dock .qcp-quote{padding:12px 0}}
@media (prefers-reduced-motion:reduce){.qcp-dock,.qcp-dock *,.qcp-panel *{transition:none!important}}

/* ---- Isolation: keep the panel looking the same whatever the site's global CSS does ---- */
.offcanvas.qcp-panel{
  --bs-offcanvas-bg:#fff;--bs-offcanvas-color:#212529;
  background:#fff!important;color:#212529!important;
  display:flex;flex-direction:column;max-height:100dvh;
}
.offcanvas.qcp-panel .qcp-panel-head{flex:0 0 auto;background:linear-gradient(135deg,#0a2d94,#1d4fd8)!important}
.offcanvas.qcp-panel .offcanvas-body{flex:1 1 auto;overflow-y:auto;background:#fff!important}
.qcp-panel,.qcp-panel h2,.qcp-panel h3,.qcp-panel p,.qcp-panel label,.qcp-panel input,
.qcp-panel textarea,.qcp-panel button,.qcp-panel a,.qcp-panel .invalid-feedback{
  font-family:"Poppins",system-ui,sans-serif!important;
}
.qcp-panel .qcp-panel-head h2,.qcp-panel .qcp-panel-head p{color:#fff!important}
.qcp-panel .qcp-panel-head h2{font-size:1.25rem;font-weight:600;letter-spacing:0;text-transform:none;line-height:1.3}
.qcp-panel .btn-close-white{filter:invert(1) grayscale(100%) brightness(200%);opacity:.9}
.qcp-panel .form-control{color:#1f2937!important;background-color:#fff!important;font-size:.95rem}
.qcp-panel .form-floating>label{color:#6b7280!important;background:transparent!important}
.qcp-panel .form-floating>.form-control:focus~label,
.qcp-panel .form-floating>.form-control:not(:placeholder-shown)~label{color:#4b5563!important}
.qcp-panel .qcp-counter{color:#6b7280!important}
.qcp-panel .text-secondary{color:#6b7280!important}
.qcp-panel .qcp-success h3{color:#111827!important;font-size:1.25rem}
.qcp-panel .qcp-btn{color:#fff!important;background:var(--qcp-brand)!important;border-color:var(--qcp-brand)!important}
.qcp-panel .qcp-btn:hover{background:var(--qcp-brand-dark)!important}
.qcp-panel .qcp-alt a{color:var(--qcp-brand)!important}
