/* CARVIDON contact widget: isolated styles, px to coexist with html {font-size:62.5%}. */
#cv-contact-widget[hidden],#cv-contact-widget [hidden]{display:none!important}
#cv-contact-widget,#cv-contact-widget *{box-sizing:border-box}
#cv-contact-widget{position:fixed;bottom:26px;right:26px;z-index:10500;display:flex;flex-direction:column;align-items:flex-end;gap:14px;max-width:calc(100vw - 32px);font-family:Montserrat-Regular,Arial,sans-serif;line-height:1.4;text-align:left;color:#181818;isolation:isolate}
#cv-contact-widget .cv-contact-panel{order:0;width:340px;max-width:calc(100vw - 32px);background:#fff;border:1px solid rgba(18,27,36,.07);border-radius:16px;box-shadow:0 9px 32px rgba(0,0,0,.2),0 2px 8px rgba(0,0,0,.1);padding:22px 16px 16px;animation:cv-contact-in .18s ease-out}
#cv-contact-widget .cv-contact-kicker{display:inline-block;color:#c8102e;letter-spacing:.14em;font:700 10px/1.5 Montserrat-SemiBold,Arial,sans-serif;margin-bottom:8px}
#cv-contact-widget .cv-contact-heading h2{font:700 18px/1.4 Montserrat-SemiBold,Arial,sans-serif;letter-spacing:-.3px;margin:0 0 6px;color:#181818;padding:0}
#cv-contact-widget .cv-contact-heading p{font:400 12px/1.55 Montserrat-Regular,Arial,sans-serif;color:#667085;margin:0 0 16px}
#cv-contact-widget .cv-contact-options{display:flex;flex-direction:column;gap:6px}
#cv-contact-widget .cv-contact-option{display:flex;align-items:center;gap:11px;min-height:49px;padding:10px 11px;background:#fff;border:1px solid #e4e7ec;border-radius:10px;text-decoration:none;color:#292929;font:500 13px/1.3 Montserrat-Medium,Arial,sans-serif;transition:border-color .18s,background .18s,transform .18s;white-space:normal}
#cv-contact-widget .cv-contact-option:hover{border-color:#c8102e;background:#fff7f9;color:#202020;transform:translateX(-2px)}
#cv-contact-widget .cv-contact-option:focus-visible,#cv-contact-widget .cv-contact-launcher:focus-visible{outline:3px solid #6e9fff;outline-offset:3px}
#cv-contact-widget .cv-contact-option-primary{border-color:#f0c7d0;background:#fff9fa}
#cv-contact-widget .cv-contact-option-icon{width:24px;min-width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#c8102e}
#cv-contact-widget .cv-contact-option-phone{color:#1b9c77}
#cv-contact-widget .cv-contact-option-email{color:#4078a5}
#cv-contact-widget .cv-contact-option-label{flex:1}
#cv-contact-widget .cv-contact-option-arrow{color:#98a2b3;font-size:20px;line-height:1;flex-shrink:0}
/* Compact launcher: icon first, label unfolds to the LEFT without moving the right edge. */
#cv-contact-widget .cv-contact-launcher{order:1;display:inline-flex;align-items:center;justify-content:flex-end;gap:0;width:auto;min-width:48px;max-width:calc(100vw - 32px);height:48px;padding:0;border:0;border-radius:28px;background:linear-gradient(110deg,#ad0d29,#c8102e);box-shadow:0 4px 15px rgba(116,8,30,.23);color:#fff;cursor:pointer;text-decoration:none;white-space:nowrap;overflow:hidden;font-family:Montserrat-SemiBold,Arial,sans-serif;transition:box-shadow .25s ease,transform .25s ease,background .25s ease}
#cv-contact-widget .cv-contact-launcher:hover{box-shadow:0 6px 20px rgba(116,8,30,.3);color:#fff}
#cv-contact-widget .cv-contact-launcher-text{display:block;max-width:0;opacity:0;overflow:hidden;padding:0;color:#fff;white-space:nowrap;font:600 12px/1.3 Montserrat-SemiBold,Arial,sans-serif;transform:translateX(8px);transition:max-width .3s ease,padding .3s ease,opacity .18s ease,transform .3s ease}
#cv-contact-widget .cv-contact-launcher-user,#cv-contact-widget .cv-contact-launcher-close{display:flex;align-items:center;justify-content:center;width:48px;height:48px;min-width:48px;flex-shrink:0;color:#fff}
#cv-contact-widget .cv-contact-launcher-user svg,#cv-contact-widget .cv-contact-launcher-close svg{width:21px;height:21px;flex-shrink:0}
#cv-contact-widget .cv-contact-launcher-close{display:none}
@media(hover:hover) and (pointer:fine){
  #cv-contact-widget:not(.is-open) .cv-contact-launcher:hover .cv-contact-launcher-text,#cv-contact-widget:not(.is-open) .cv-contact-launcher:focus-visible .cv-contact-launcher-text{max-width:160px;padding-left:15px;padding-right:4px;opacity:1;transform:translateX(0)}
}
#cv-contact-widget.is-peek:not(.is-open) .cv-contact-launcher-text{max-width:160px;padding-left:15px;padding-right:4px;opacity:1;transform:translateX(0)}
#cv-contact-widget.is-open .cv-contact-launcher{width:48px;min-width:48px;max-width:48px;padding:0;background:#272a30;box-shadow:0 5px 18px rgba(0,0,0,.18)}
#cv-contact-widget.is-open .cv-contact-launcher-text,#cv-contact-widget.is-open .cv-contact-launcher-user{display:none}
#cv-contact-widget.is-open .cv-contact-launcher-close{display:flex}
@keyframes cv-contact-in{from{opacity:0;transform:translateY(9px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:650px){#cv-contact-widget{right:16px;bottom:max(16px, env(safe-area-inset-bottom));gap:12px}#cv-contact-widget .cv-contact-panel{width:calc(100vw - 32px);padding:18px 14px 14px;max-height:calc(100dvh - 110px);overflow-y:auto}#cv-contact-widget .cv-contact-heading h2{font-size:16px}}
@media(prefers-reduced-motion:reduce){#cv-contact-widget .cv-contact-panel{animation:none}#cv-contact-widget .cv-contact-option,#cv-contact-widget .cv-contact-launcher,#cv-contact-widget .cv-contact-launcher-text{transition:none}}
