/* DPCS Callback Popup – front end. Everything is scoped to .dcp (no theme / Elementor conflicts). */
.dcp{--dcp-p:#273171;--dcp-g:#1E824C;--dcp-gd:#176a3d;--dcp-ink:#1A1A1A;--dcp-mut:#585e78;--dcp-line:#dde1ee;--dcp-fill:#f7f8fc;
	position:fixed;inset:0;z-index:9997;display:flex;box-sizing:border-box;pointer-events:none;
	padding:var(--dcp-pt,24px) var(--dcp-px,24px) var(--dcp-pb,24px);
	font-family:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;color:var(--dcp-ink);-webkit-font-smoothing:antialiased}
.dcp[hidden]{display:none!important}
.dcp *{box-sizing:border-box}
.dcp[data-pos="center"]{z-index:10000}

/* position = where the card sits in the viewport (the card itself only animates transform + opacity) */
.dcp[data-pos="center"]{align-items:center;justify-content:center}
.dcp[data-pos="left"]{align-items:flex-end;justify-content:flex-start}
.dcp[data-pos="right"]{align-items:flex-end;justify-content:flex-end}
.dcp[data-pos="top-left"]{align-items:flex-start;justify-content:flex-start}
.dcp[data-pos="top-right"]{align-items:flex-start;justify-content:flex-end}
.dcp[data-pos="center-left"]{align-items:center;justify-content:flex-start}
.dcp[data-pos="center-right"]{align-items:center;justify-content:flex-end}

/* overlay only for the centered modal */
.dcp-ov{display:none;position:absolute;inset:0;background:rgba(26,26,26,.5);opacity:0;transition:opacity .35s ease}
.dcp[data-pos="center"] .dcp-ov{display:block;pointer-events:auto}
.dcp.is-on .dcp-ov{opacity:1}

/* card */
.dcp-card{position:relative;width:min(100%,400px);max-height:calc(100vh - var(--dcp-pt,24px) - var(--dcp-pb,24px));overflow-y:auto;overscroll-behavior:contain;
	background:#fff;border:1px solid var(--dcp-line);border-radius:8px;box-shadow:0 28px 48px -28px rgba(26,26,26,.45);outline:0;pointer-events:auto;
	opacity:0;transform:var(--dcp-from,translateY(18px));will-change:transform,opacity;
	transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .35s ease}
.dcp.is-on .dcp-card{opacity:1;transform:none}
.dcp[data-pos="center"] .dcp-card{width:min(100%,440px)}
.dcp-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--dcp-g);border-radius:8px 8px 0 0}

/* entrance animations */
.dcp[data-anim="fade"]{--dcp-from:none}
.dcp[data-anim="scale"]{--dcp-from:scale(.94)}
.dcp[data-anim="rise"]{--dcp-from:translateY(30px)}
.dcp[data-anim="slide"]{--dcp-from:translateY(24px)}
.dcp[data-anim="slide"][data-pos="left"],.dcp[data-anim="slide"][data-pos="top-left"],.dcp[data-anim="slide"][data-pos="center-left"]{--dcp-from:translateX(-64px)}
.dcp[data-anim="slide"][data-pos="right"],.dcp[data-anim="slide"][data-pos="top-right"],.dcp[data-anim="slide"][data-pos="center-right"]{--dcp-from:translateX(64px)}

/* close button – always visible */
.dcp-x{position:absolute;top:12px;right:12px;z-index:3;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--dcp-line);border-radius:6px;background:#fff;color:var(--dcp-p);cursor:pointer;box-shadow:none;transition:background .2s,color .2s,border-color .2s}
.dcp-x svg{width:18px;height:18px;display:block}
.dcp-x:hover,.dcp-x:focus-visible{background:var(--dcp-p);border-color:var(--dcp-p);color:#fff;outline:0}
.dcp-x:focus-visible{box-shadow:0 0 0 3px rgba(39,49,113,.25)}

/* content */
.dcp-head{padding:30px 30px 4px}
.dcp-eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 12px;font:600 11.5px/1 'Poppins',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--dcp-g)}
.dcp-eyebrow::before{content:"";width:26px;height:2px;background:currentColor}
.dcp .dcp-title{margin:0 44px 10px 0!important;padding:0!important;font-family:'Poppins',system-ui,sans-serif!important;font-size:25px!important;line-height:1.2!important;font-weight:600!important;letter-spacing:-.015em!important;text-transform:none!important;color:var(--dcp-p)!important}
.dcp-desc{margin:0 0 4px;font-size:14.5px;line-height:1.7;color:var(--dcp-mut)}
.dcp-body{padding:18px 30px 6px}
.dcp-foot{margin:0;padding:16px 30px 22px;border-top:1px solid var(--dcp-line);font-size:13.5px;color:var(--dcp-mut)}
.dcp-foot a{font-weight:600;color:var(--dcp-p);text-decoration:none;white-space:nowrap}
.dcp-foot a:hover{color:var(--dcp-g);text-decoration:underline;text-underline-offset:3px}
.dcp-note{margin:0;padding:12px 14px;border-left:4px solid #e08a1e;background:#fff7e8;font-size:13px;line-height:1.6;color:#7a4a05}

/* Contact Form 7 inside the popup (use the markup from the plugin's "Setup" page) */
.dcp-body .wpcf7{margin:0}
.dcp-body .wpcf7-form{margin:0}
.dcp-body .wpcf7-form p{margin:0}
.dcp-body br{display:none}
.dcp-body .dcp-fields{display:flex;flex-direction:column;gap:16px}
.dcp-body .dcp-fields>p{display:contents}
.dcp-body .dcp-f{display:block;margin:0}
.dcp-body .dcp-f>span:first-child{display:block;margin:0 0 7px;font:600 13.5px/1.3 'Poppins',sans-serif;color:var(--dcp-p)}
.dcp-body .dcp-f>span i{margin-left:2px;font-style:normal;color:#d63638}
.dcp-body .dcp-f>span em{margin-left:4px;font-style:normal;font-weight:400;color:#8a90ab}
.dcp-body .wpcf7-form-control-wrap{display:block;position:relative}
.dcp-body input[type=text],.dcp-body input[type=tel],.dcp-body input[type=email],.dcp-body textarea{display:block;width:100%;height:50px;margin:0;padding:0 14px;border:1px solid var(--dcp-line);border-radius:6px;background:var(--dcp-fill);font:500 15px 'Poppins',sans-serif;color:var(--dcp-ink);box-shadow:none;outline:0;-webkit-appearance:none;appearance:none;transition:border-color .2s,background-color .2s,box-shadow .2s}
.dcp-body textarea{height:auto;min-height:92px;padding-top:13px;padding-bottom:13px;resize:vertical;line-height:1.6}
.dcp-body ::placeholder{color:#9298b2;opacity:1}
.dcp-body input:hover,.dcp-body textarea:hover{border-color:#b6bdd6}
.dcp-body input:focus,.dcp-body textarea:focus{border-color:var(--dcp-p);background-color:#fff;box-shadow:0 0 0 4px rgba(39,49,113,.1)}
.dcp-body .dcp-hp{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.dcp-body input[type=submit],.dcp-body .dcp-submit{display:flex;align-items:center;justify-content:center;width:100%;height:52px;margin:22px 0 0;padding:0 24px;border:0;border-radius:6px;background:var(--dcp-g);color:#fff;font:600 15.5px 'Poppins',sans-serif;letter-spacing:.02em;cursor:pointer;-webkit-appearance:none;appearance:none;transition:background-color .2s}
.dcp-body input[type=submit]:hover,.dcp-body .dcp-submit:hover{background:var(--dcp-gd)}
.dcp-body input[type=submit]:focus-visible{outline:3px solid rgba(39,49,113,.35);outline-offset:3px}
.dcp-body form.submitting input[type=submit]{opacity:.7;cursor:progress}
.dcp-body .wpcf7-spinner{display:block;margin:10px auto 0}
.dcp-body .wpcf7-not-valid{border-color:#d63638!important;background-color:#fff8f8!important}
.dcp-body .wpcf7-not-valid-tip{display:block;margin-top:6px;font-size:12.5px;font-weight:500;line-height:1.4;color:#d63638}
.dcp-body form.init .wpcf7-response-output,.dcp-body .wpcf7-response-output:empty,.dcp-body .wpcf7-response-output[hidden]{display:none!important}
.dcp-body .wpcf7-response-output{margin:18px 0 6px!important;padding:12px 14px!important;border:1px solid var(--dcp-line)!important;border-left-width:4px!important;border-radius:6px;background:#f3f4fa;font-size:13.5px;font-weight:500;line-height:1.55;color:var(--dcp-ink)}
.dcp-body form.sent .wpcf7-response-output,.dcp-body form[data-status="sent"] .wpcf7-response-output{background:#eaf7ef;border-color:#bfe3cd!important;border-left-color:#1E824C!important;color:#14612f}
.dcp-body form.invalid .wpcf7-response-output,.dcp-body form[data-status="invalid"] .wpcf7-response-output,
.dcp-body form.unaccepted .wpcf7-response-output,.dcp-body form[data-status="unaccepted"] .wpcf7-response-output{background:#fff7e8;border-color:#f1d9aa!important;border-left-color:#e08a1e!important;color:#7a4a05}
.dcp-body form.failed .wpcf7-response-output,.dcp-body form[data-status="failed"] .wpcf7-response-output,
.dcp-body form.aborted .wpcf7-response-output,.dcp-body form[data-status="aborted"] .wpcf7-response-output,
.dcp-body form.spam .wpcf7-response-output,.dcp-body form[data-status="spam"] .wpcf7-response-output{background:#fdeeee;border-color:#f0c4c5!important;border-left-color:#d63638!important;color:#9b1c1f}

/* phones: a compact sheet that drops in under the sticky header (no bottom area, so the WhatsApp / back-to-top buttons stay free) */
@media (max-width:640px){
	.dcp-card,.dcp[data-pos="center"] .dcp-card{width:100%}
	.dcp[data-pos="top-left"],.dcp[data-pos="top-right"]{justify-content:center}
	.dcp[data-anim="slide"][data-pos="top-left"],.dcp[data-anim="slide"][data-pos="top-right"]{--dcp-from:translateY(-28px)}
	.dcp-head{padding:26px 22px 2px}
	.dcp-body{padding:14px 22px 4px}
	.dcp-foot{padding:14px 22px 18px}
	.dcp .dcp-title{font-size:22px!important}
	.dcp-body input[type=text],.dcp-body input[type=tel],.dcp-body input[type=email]{height:48px;font-size:16px}
	.dcp-body textarea{font-size:16px}
}
@media (prefers-reduced-motion:reduce){
	.dcp-card,.dcp-ov{transition:opacity .2s ease}
	.dcp .dcp-card{transform:none!important}
}
