/*!
 * PP Contact Widget — front-end styles.
 * Ported verbatim from the original GTM snippets (call button + form widget).
 * Only hard-coded brand colours were replaced by CSS variables; every other
 * deviation is marked with "PPCW:" below.
 * Variables are (re)defined inline by the plugin right after this file:
 *   :root{--ppcw-brand;--ppcw-brand-dark;--ppcw-brand-rgb;--ppcw-brand-a13}
 */

/* PPCW: defaults, overridden by the inline :root block printed by the plugin */
:root{--ppcw-brand:#1c4c7c;--ppcw-brand-dark:#12304f;--ppcw-brand-rgb:28,76,124;--ppcw-brand-a13:rgba(28,76,124,.133)}

/* ============================== Call button ============================== */
@keyframes daPulse{0%{box-shadow:0 0 0 0 rgba(var(--ppcw-brand-rgb),.6)}70%{box-shadow:0 0 0 14px rgba(var(--ppcw-brand-rgb),0)}100%{box-shadow:0 0 0 0 rgba(var(--ppcw-brand-rgb),0)}}
#da-call-button{box-sizing:border-box;position:fixed;bottom:108px;right:13px;width:75px;height:75px;background:var(--ppcw-brand);color:#fff;font-weight:700;font-size:12px;border-radius:50%;border:4px solid #fff;text-align:center;text-decoration:none;z-index:2147483647;display:flex;align-items:center;justify-content:center;animation:daPulse 2s infinite;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .25s,visibility .25s,transform .25s}
#da-call-button.da-hidden{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(12px) scale(.85)!important}
#da-call-button *{box-sizing:border-box}
#call-button-text{display:block;text-align:center;line-height:1.2;user-select:none}
#call-text{font-size:14px;line-height:1.15;letter-spacing:0.4px;}
#call-img{font-size:26px;line-height:1;user-select:none}
.da-hidden-tracker{position:absolute;left:-9999px;top:-9999px;opacity:0;width:1px;height:1px;overflow:hidden;}
@media(max-width:480px){#da-call-button{width:64px;height:64px;bottom:84px;right:11px}}

/* ============================== Form widget ============================== */
#pp-cw,#pp-cw *,#pp-cw *::before,#pp-cw *::after{box-sizing:border-box!important;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif!important;-webkit-font-smoothing:antialiased;line-height:normal;margin:0!important;padding:0!important;border:0;background:none;text-align:left;float:none;letter-spacing:normal}
#pp-cw{position:fixed!important;bottom:22px!important;right:22px!important;z-index:2147483600!important}
#pp-cw img{max-width:none!important}
#pp-cw .cw-fab-row{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:16px!important}
#pp-cw .cw-fab-label{position:relative!important;background:#fff!important;color:#3a4250!important;font-size:14px!important;font-weight:500!important;line-height:1.4!important;padding:12px 16px!important;border-radius:14px!important;box-shadow:0 4px 16px rgba(0,0,0,0.14)!important;max-width:165px!important;text-align:left!important;cursor:pointer;transition:opacity .25s,transform .25s,visibility .25s}
#pp-cw .cw-fab-label::after{content:''!important;position:absolute!important;top:50%!important;right:-7px!important;width:0!important;height:0!important;transform:translateY(-50%)!important;border-top:8px solid transparent!important;border-bottom:8px solid transparent!important;border-left:8px solid #fff!important}
#pp-cw.cw-open .cw-fab-label{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateX(8px)!important}
#pp-cw .cw-fab{width:58px!important;height:58px!important;border-radius:50%!important;background:var(--ppcw-brand)!important;cursor:pointer;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:0 6px 18px rgba(0,0,0,0.22)!important;transition:transform .2s;flex-shrink:0!important}
/* White ring like the call button (#da-call-button border:4px solid #fff). */
#pp-cw .cw-fab{border:4px solid #fff!important}
#pp-cw .cw-fab:hover{transform:scale(1.06)}
#pp-cw .cw-fab svg{width:26px!important;height:26px!important;fill:#fff!important;pointer-events:none}
#pp-cw .cw-pan{position:absolute!important;bottom:78px!important;right:0!important;width:min(374px,calc(100vw - 44px))!important;max-height:calc(100vh - 120px)!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch;background:#fff!important;border-radius:16px!important;box-shadow:0 10px 30px rgba(0,0,0,0.18)!important;opacity:0;transform:translateY(16px) scale(0.96);transition:opacity .25s,transform .25s;pointer-events:none}
#pp-cw .cw-pan.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
#pp-cw .cw-head{background:linear-gradient(135deg,var(--ppcw-brand),var(--ppcw-brand-dark))!important;border-radius:16px 16px 0 0!important;padding:24px 26px 56px!important;position:relative!important;color:#fff!important}
#pp-cw .cw-head h3{font-size:20px!important;font-weight:700!important;line-height:1.3!important;margin:0 0 8px!important;padding-right:34px!important;color:#fff!important}
#pp-cw .cw-head p{font-size:14px!important;font-weight:500!important;opacity:1!important;line-height:1.5!important;color:#fff!important;margin:0!important}
#pp-cw .cw-close{position:absolute!important;top:18px!important;right:18px!important;width:32px!important;height:32px!important;background:rgba(0,0,0,0.18)!important;border-radius:8px!important;cursor:pointer;display:flex!important;align-items:center!important;justify-content:center!important;transition:background .15s}
#pp-cw .cw-close:hover{background:rgba(0,0,0,0.3)!important}
#pp-cw .cw-close svg{width:13px!important;height:13px!important;fill:#fff!important;pointer-events:none}
#pp-cw .cw-card{background:#fff!important;margin:-40px 16px 16px!important;border-radius:12px!important;box-shadow:0 8px 28px rgba(0,0,0,0.12)!important;padding:22px 20px!important;position:relative!important}
#pp-cw .cw-field{margin:0 0 16px!important;padding:0!important}
#pp-cw .cw-field label{display:block!important;font-size:13px!important;font-weight:600!important;color:#2b2f36!important;margin:0 0 7px!important;padding:0!important}
#pp-cw .cw-field input,#pp-cw .cw-field textarea{width:100%!important;border:1px solid #e2e4e8!important;border-radius:8px!important;padding:11px 14px!important;font-size:14px!important;outline:none!important;transition:border-color .15s,box-shadow .15s;background:#fff!important;color:#2b2f36!important;-webkit-appearance:none!important;height:auto!important;line-height:1.4!important;margin:0!important}
#pp-cw .cw-field input:focus,#pp-cw .cw-field textarea:focus{border-color:var(--ppcw-brand)!important;box-shadow:0 0 0 3px var(--ppcw-brand-a13)!important}
#pp-cw .cw-field input::placeholder,#pp-cw .cw-field textarea::placeholder{color:#aab0b8!important}
#pp-cw .cw-field textarea{height:96px!important;resize:none}
#pp-cw .cw-consent{display:flex!important;align-items:flex-start!important;gap:9px!important;margin:0 0 18px!important;padding:0!important}
#pp-cw .cw-consent input[type="checkbox"]{width:18px!important;height:18px!important;min-width:18px!important;margin:1px 0 0!important;accent-color:var(--ppcw-brand);cursor:pointer;flex-shrink:0!important;-webkit-appearance:checkbox!important;appearance:checkbox!important;padding:0!important}
#pp-cw .cw-consent label{font-size:12px!important;color:#7a828c!important;line-height:1.45!important;cursor:pointer;margin:0!important;padding:0!important}
#pp-cw .cw-sub-w{display:flex!important;justify-content:center!important;margin:0!important;padding:0!important}
#pp-cw .cw-sub{padding:0 34px!important;height:44px!important;background:var(--ppcw-brand)!important;color:#fff!important;border-radius:8px!important;font-size:15px!important;font-weight:600!important;cursor:pointer;transition:opacity .2s;-webkit-appearance:none!important}
#pp-cw .cw-sub:hover{opacity:.92}
#pp-cw .cw-sub:disabled{opacity:.5;cursor:not-allowed}
#pp-cw .cw-ty{display:none;text-align:center!important;padding:24px 8px!important}
#pp-cw .cw-ty.show{display:block}
#pp-cw .cw-ty svg{width:52px!important;height:52px!important;fill:var(--ppcw-brand)!important;margin:0 0 14px!important}
#pp-cw .cw-ty p{font-size:15px!important;color:#2b2f36!important;line-height:1.55!important;margin:0!important;text-align:center!important}
#pp-cw .cw-foot{text-align:center!important;padding:4px 16px 16px!important;font-size:12px!important}
#pp-cw .cw-foot-pre{color:#000!important}
#pp-cw .cw-foot a{color:#0e6da4!important;text-decoration:none!important;font-weight:600!important}
#pp-cw .cw-foot a:hover{text-decoration:underline!important}
#pp-cw .cw-err{border-color:#e53935!important;box-shadow:0 0 0 3px #e5393522!important}
@media(max-width:480px){#pp-cw{bottom:16px!important;right:16px!important}#pp-cw .cw-fab-label{display:none!important}#pp-cw .cw-fab{width:54px!important;height:54px!important}#pp-cw .cw-pan{width:calc(100vw - 28px)!important;right:-7px!important;bottom:70px!important;max-height:calc(100vh - 100px)!important}#pp-cw .cw-field input,#pp-cw .cw-field textarea{font-size:16px!important}}
@media(max-width:360px){#pp-cw .cw-pan{width:calc(100vw - 20px)!important;right:-10px!important}}
@media(max-height:760px){#pp-cw .cw-head{padding:18px 26px 48px!important}#pp-cw .cw-head h3{font-size:18px!important;margin:0 0 5px!important}#pp-cw .cw-head p{font-size:13px!important}#pp-cw .cw-card{margin:-36px 16px 14px!important;padding:18px 18px!important}#pp-cw .cw-field{margin:0 0 11px!important}#pp-cw .cw-field input,#pp-cw .cw-field textarea{padding:9px 14px!important}#pp-cw .cw-field textarea{height:64px!important}#pp-cw .cw-consent{margin:0 0 12px!important}}
@media(max-height:600px){#pp-cw .cw-head{padding:14px 26px 44px!important}#pp-cw .cw-field textarea{height:52px!important}#pp-cw .cw-field{margin:0 0 9px!important}}

/* ============================== PPCW additions ============================== */

/* PPCW: error message above the submit button */
#pp-cw .cw-msg{display:none;color:#e53935!important;font-size:13px!important;font-weight:500!important;line-height:1.45!important;text-align:center!important;margin:0 0 14px!important}
#pp-cw .cw-msg.show{display:block}

/* PPCW: honeypot — visually hidden but still in the DOM for bots */
#pp-cw .cw-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}

/* PPCW: inputs/textarea as blocks — removes the inline-baseline gap under the
   inline-block textarea, whose height otherwise depends on the theme's
   font/line-height (made the panel 1px+ taller than the original on WP themes). */
#pp-cw .cw-field input,#pp-cw .cw-field textarea{display:block!important;vertical-align:top!important}
/* PPCW: a fixed 3px (padding, not margin — margin would collapse into .cw-field's) replaces
   that gap so geometry equals the original on a blank page (Message field 122px) */
#pp-cw .cw-field.cw-field-msg{padding:0 0 3px!important}

/* PPCW: honour reduced motion */
@media (prefers-reduced-motion: reduce){
  #da-call-button{animation:none!important}
}
