/* Total Solar "Chat now" bubble + panel */
.ts-chat{--ts-chat-gap:20px;position:fixed;right:var(--ts-chat-gap);bottom:var(--ts-chat-gap);z-index:120;font-family:Montserrat,system-ui,sans-serif}
.ts-chat-bubble{display:inline-flex;align-items:center;gap:10px;border:0;cursor:pointer;background:var(--ts-yellow);color:var(--ts-navy);font:700 15px/1 Montserrat,sans-serif;padding:15px 22px 15px 18px;border-radius:999px;box-shadow:0 10px 30px rgba(6,23,45,.35),0 0 0 3px rgba(255,255,255,.9);transition:transform .2s}
.ts-chat-bubble:hover{transform:translateY(-2px)}
.ts-chat-bubble:focus-visible,.ts-chat-close:focus-visible{outline:3px solid var(--ts-blue);outline-offset:3px}
.ts-chat-ico{width:22px;height:22px}
.ts-chat.is-open .ts-chat-bubble{display:none}
.ts-chat-panel{position:absolute;right:0;bottom:0;width:390px;max-width:calc(100vw - 2*var(--ts-chat-gap));max-height:calc(100vh - 2*var(--ts-chat-gap) - 20px);display:flex;flex-direction:column;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 24px 60px rgba(6,23,45,.4)}
.ts-chat-panel[hidden]{display:none}
.ts-chat-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:22px 20px 20px 24px;background:linear-gradient(120deg,var(--ts-navy),#1565b8);color:#fff;flex:0 0 auto}
body.ts-theme .ts-chat-head h2{color:#fff;font-size:19px;font-weight:800;margin:0 0 4px;line-height:1.25}
.ts-chat-head p{margin:0;font-size:14.5px;line-height:1.45;color:#dbe8f7}
.ts-chat-close{flex:0 0 auto;width:36px;height:36px;margin:-6px -6px 0 0;border:0;border-radius:50%;background:transparent;color:#fff;cursor:pointer;display:grid;place-items:center}
.ts-chat-close:hover{background:rgba(255,255,255,.14)}.ts-chat-close svg{width:22px;height:22px}
.ts-chat-body{overflow:auto;padding:8px 24px 20px;color:#2b3a4f;-webkit-overflow-scrolling:touch}
/* fields: clean underlined style */
.ts-chat-body .wpforms-container{margin:0!important}
.ts-chat-body .wpforms-form .wpforms-field{padding:0!important;margin:0!important;max-width:none!important}
.ts-chat-body .wpforms-form .wpforms-field-container{display:grid;gap:4px}
.ts-chat-body .wpforms-form input[type=text],.ts-chat-body .wpforms-form input[type=tel],.ts-chat-body .wpforms-form input[type=email],.ts-chat-body .wpforms-form textarea{width:100%!important;max-width:none!important;border:0!important;border-bottom:1.5px solid #d3dce8!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:16px 0 10px!important;font:500 16px/1.4 Montserrat,sans-serif!important;color:var(--ts-navy)!important;height:auto!important;min-height:0!important}
.ts-chat-body .wpforms-form textarea{height:96px!important;resize:vertical}
.ts-chat-body .wpforms-form input::placeholder,.ts-chat-body .wpforms-form textarea::placeholder{color:#8696aa;opacity:1}
.ts-chat-body .wpforms-form input:focus,.ts-chat-body .wpforms-form textarea:focus{outline:0!important;border-bottom-color:var(--ts-blue)!important}
.ts-chat-body .ts-has-prefix{display:flex;align-items:stretch;border-bottom:1.5px solid #d3dce8}
.ts-chat-body .ts-has-prefix:focus-within{border-bottom-color:var(--ts-blue)}
.ts-chat-body .wpforms-form .ts-has-prefix input[type]{flex:1;min-width:0;border-bottom:0!important;padding-left:14px!important}
.ts-chat-prefix{display:flex;align-items:center;padding:16px 0 10px;font:500 16px/1.4 Montserrat,sans-serif;color:#8696aa;white-space:nowrap}
.ts-chat-prefix span{padding-right:14px;border-right:1px solid #d3dce8;line-height:1.2}
.ts-chat-body .wpforms-field-checkbox{margin-top:12px!important}
.ts-chat-body .wpforms-field-checkbox ul{margin:0!important;padding:0!important;list-style:none}
.ts-chat-body .wpforms-field-checkbox li{display:flex!important;gap:10px;align-items:flex-start;margin:0!important;padding:0!important}
.ts-chat-body .wpforms-field-checkbox input{flex:0 0 auto;width:18px;height:18px;margin:2px 0 0!important;accent-color:var(--ts-navy)}
.ts-chat-body .wpforms-field-checkbox label{font-size:13px!important;line-height:1.45!important;color:#3d4d63!important;font-weight:500!important}
.ts-chat-body .wpforms-field-checkbox a{color:#1a6fc0!important}
.ts-chat-body .wpforms-submit-container{padding:18px 0 0!important;margin:0!important}
.ts-chat-body .wpforms-submit{width:100%!important;border:0!important;border-radius:10px!important;background:var(--ts-yellow)!important;color:var(--ts-navy)!important;font:700 16px/1 Montserrat,sans-serif!important;padding:16px!important;height:auto!important;cursor:pointer}
.ts-chat-body .wpforms-submit:hover{background:#ffe44d!important}
.ts-chat-body .wpforms-submit:focus-visible{outline:3px solid var(--ts-blue)!important;outline-offset:2px}
.ts-chat-body label.wpforms-error,.ts-chat-body em.wpforms-error{font-size:12.5px!important;color:#b42318!important;margin-top:4px}
.ts-chat-body .wpforms-confirmation-container-full{background:#eef6ff!important;border:1px solid #cfe2fb!important;color:var(--ts-navy)!important;border-radius:12px;padding:16px!important;margin:16px 0!important}
.ts-chat-fine{font-size:12.5px;line-height:1.5;color:#6b7a8f;margin:14px 0 0}
.ts-chat-fine a{color:#1a6fc0!important}
/* phones: sit above the sticky quote/call bar; panel near full screen */
@media (max-width:768px){
 .ts-chat{--ts-chat-gap:14px;bottom:calc(76px + env(safe-area-inset-bottom))}
 .ts-chat-bubble{padding:13px 18px 13px 15px;font-size:14px}
 .ts-chat.is-open{inset:0;bottom:0;right:0}
 .ts-chat-panel{position:fixed;inset:0;width:auto;max-width:none;max-height:none;border-radius:0}
 html.ts-chat-open,html.ts-chat-open body{overflow:hidden}
}
@media (prefers-reduced-motion:reduce){.ts-chat-bubble{transition:none}}
