/* Call Me Back Button — refined premium front-end */
.cpb-widget{--cpb-accent:#1769e0;position:fixed;bottom:26px;z-index:999990;font-family:inherit;color:#182230}
.cpb-position-right{right:26px}.cpb-position-left{left:26px}
.cpb-launcher{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:56px;padding:0 23px;border:0;border-radius:999px;background:var(--cpb-accent);color:#fff!important;font-family:inherit;font-size:15px;font-weight:650;line-height:1;letter-spacing:.05px;box-shadow:0 10px 28px rgba(20,38,68,.19),0 3px 8px rgba(20,38,68,.1);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.cpb-launcher:hover{transform:translateY(-3px);filter:brightness(1.04);box-shadow:0 15px 34px rgba(20,38,68,.24),0 4px 10px rgba(20,38,68,.12)}
.cpb-launcher:focus-visible,.cpb-close:focus-visible,.cpb-submit:focus-visible{outline:3px solid color-mix(in srgb,var(--cpb-accent) 35%,white);outline-offset:3px}
.cpb-launcher svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.cpb-overlay{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;background:rgba(12,22,39,.52);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:cpb-bg-in .2s ease}
.cpb-overlay[hidden]{display:none}
.cpb-dialog{position:relative;width:min(100%,440px);max-height:min(92vh,760px);overflow:auto;box-sizing:border-box;padding:34px 36px 27px;border:1px solid rgba(255,255,255,.82);border-radius:26px;background:linear-gradient(180deg,#fff 0%,#fff 72%,#fbfcff 100%);color:#182230;box-shadow:0 32px 100px rgba(8,18,36,.28),0 4px 18px rgba(8,18,36,.08);animation:cpb-card-in .25s cubic-bezier(.2,.75,.25,1)}
.cpb-close{position:absolute;top:17px;right:17px;display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid #edf0f5;border-radius:50%;background:#f8fafc;color:#667085;font-family:Arial,sans-serif;font-size:23px;font-weight:300;line-height:1;cursor:pointer;transition:background .15s ease,color .15s ease,transform .15s ease}
.cpb-close:hover{background:#edf2f8;color:#182230;transform:rotate(90deg)}
.cpb-modal-topline{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.cpb-heading-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:16px;background:color-mix(in srgb,var(--cpb-accent) 10%,white);color:var(--cpb-accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cpb-accent) 8%,white)}
.cpb-heading-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cpb-eyebrow{color:var(--cpb-accent);font-size:10px;font-weight:750;letter-spacing:1.5px}
.cpb-dialog h2{margin:0 32px 9px 0;padding:0;color:#172033;font-family:inherit;font-size:27px;font-weight:750;line-height:1.2;letter-spacing:-.8px}
.cpb-description{margin:0 0 24px;color:#697586;font-size:14px;line-height:1.65}
.cpb-form{display:grid;gap:8px}
.cpb-form label{margin-top:7px;color:#344054;font-size:12px;font-weight:700;letter-spacing:.12px}
.cpb-form label span{color:#98a2b3;font-weight:450}
.cpb-form input,.cpb-form textarea,.cpb-phone-field select{display:block;min-height:51px;box-sizing:border-box;margin:0;padding:13px 14px;border:1px solid #e1e6ee;border-radius:12px;outline:none;background:#fbfcfe;color:#172033;font-family:inherit;font-size:14px;line-height:1.45;box-shadow:0 1px 2px rgba(16,24,40,.025);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.cpb-form input::placeholder,.cpb-form textarea::placeholder{color:#a0a9b6}
.cpb-form input:focus,.cpb-form textarea:focus,.cpb-phone-field select:focus{border-color:var(--cpb-accent);background:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--cpb-accent) 11%,white)}
.cpb-phone-field{display:grid;grid-template-columns:116px minmax(0,1fr);gap:8px}
.cpb-phone-field select{width:100%;padding:0 9px;font-size:13px;font-weight:650;cursor:pointer}
.cpb-phone-field input{width:100%;min-width:0}
.cpb-form textarea{width:100%;min-height:88px;resize:vertical}
.cpb-submit{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:53px;margin-top:12px;padding:0 18px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--cpb-accent),color-mix(in srgb,var(--cpb-accent) 78%,#172f69));color:#fff!important;font-family:inherit;font-size:14px;font-weight:700;letter-spacing:.1px;cursor:pointer;box-shadow:0 7px 16px color-mix(in srgb,var(--cpb-accent) 23%,transparent);transition:filter .15s ease,transform .15s ease,box-shadow .15s ease}
.cpb-submit:hover{filter:brightness(1.04);transform:translateY(-1px);box-shadow:0 10px 20px color-mix(in srgb,var(--cpb-accent) 28%,transparent)}
.cpb-submit:disabled{opacity:.7;cursor:wait;transform:none}
.cpb-submit svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cpb-feedback{display:none;margin:5px 0 0;padding:12px 13px;border-radius:11px;font-size:13px;line-height:1.5}
.cpb-feedback.is-success,.cpb-feedback.is-error{display:block}.cpb-feedback.is-success{background:#ecfdf3;color:#067647}.cpb-feedback.is-error{background:#fef3f2;color:#b42318}
.cpb-privacy{display:flex;align-items:center;justify-content:center;gap:6px;margin:18px 0 0;color:#98a2b3;text-align:center;font-size:11px;line-height:1.5}
.cpb-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@keyframes cpb-bg-in{from{opacity:0}to{opacity:1}}@keyframes cpb-card-in{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:520px){.cpb-widget{bottom:17px}.cpb-position-right{right:16px}.cpb-position-left{left:16px}.cpb-launcher{min-height:52px;padding:0 19px;font-size:14px}.cpb-overlay{align-items:flex-end;padding:10px}.cpb-dialog{width:100%;max-height:90vh;padding:29px 22px 22px;border-radius:23px}.cpb-dialog h2{font-size:24px}.cpb-heading-icon{flex-basis:44px;width:44px;height:44px}.cpb-phone-field{grid-template-columns:108px minmax(0,1fr);gap:7px}}
@media(prefers-reduced-motion:reduce){.cpb-launcher,.cpb-overlay,.cpb-dialog,.cpb-submit,.cpb-close{animation:none!important;transition:none!important}}
