#ctwl-widget,
#ctwl-widget * {
box-sizing: border-box !important;
}
#ctwl-widget input,
#ctwl-widget textarea,
#ctwl-widget button,
#ctwl-widget ul,
#ctwl-widget li,
#ctwl-widget p {
all: revert;
box-sizing: border-box !important;
font-family: inherit;
}
.ctwl-widget {
position: fixed;
z-index: 999999;
bottom: 24px;
}
.ctwl-position-bottom-right { right: 24px; }
.ctwl-position-bottom-left { left: 24px; }
.ctwl-toggle {
width: 60px !important;
height: 60px !important;
border-radius: 50% !important;
border: none !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
cursor: pointer !important;
box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25) !important;
position: relative !important;
padding: 0 !important;
animation: ctwl-pulse 2.4s infinite;
}
.ctwl-toggle:hover { filter: brightness(1.05); }
@keyframes ctwl-pulse {
0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.5); }
70% { box-shadow: 0 0 0 14px rgba(37, 211, 102, 0); }
100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}
.ctwl-bubble-text {
position: absolute;
right: 70px;
bottom: 16px;
background: #fff;
color: #222;
padding: 8px 14px;
border-radius: 8px;
white-space: nowrap;
font-size: 14px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
opacity: 0;
pointer-events: none;
transition: opacity 0.2s ease;
}
.ctwl-position-bottom-left .ctwl-bubble-text { right: auto; left: 70px; }
.ctwl-toggle:hover .ctwl-bubble-text { opacity: 1; }
.ctwl-panel {
position: absolute;
bottom: 76px;
right: 0;
width: 320px;
max-width: 90vw;
background: #fff;
border-radius: 14px;
box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
overflow: hidden;
font-family: -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}
.ctwl-position-bottom-left .ctwl-panel { right: auto; left: 0; }
.ctwl-panel-header {
color: #fff;
padding: 16px;
display: flex;
justify-content: space-between;
align-items: center;
font-weight: 600;
font-size: 15px;
}
.ctwl-panel-header button {
background: transparent !important;
border: none !important;
color: #fff !important;
font-size: 22px !important;
cursor: pointer !important;
line-height: 1 !important;
padding: 0 !important;
}
.ctwl-panel-body {
padding: 16px;
max-height: 420px;
overflow-y: auto;
}
.ctwl-step-title {
font-size: 14px !important;
color: #333 !important;
margin: 0 0 12px !important;
font-weight: 600 !important;
line-height: 1.4 !important;
}
.ctwl-services-list {
list-style: none !important;
margin: 0 !important;
padding: 0 !important;
display: flex !important;
flex-direction: column !important;
gap: 8px;
}
.ctwl-service-option {
width: 100% !important;
text-align: left !important;
padding: 10px 12px !important;
border: 1px solid #e2e2e2 !important;
border-radius: 8px !important;
background: #f7f7f7 !important;
cursor: pointer !important;
font-size: 14px !important;
line-height: 1.4 !important;
display: block !important;
color: #222 !important;
transition: background 0.15s ease;
}
.ctwl-service-option:hover { background: #eee !important; }
.ctwl-input {
width: 100% !important;
padding: 10px 12px !important;
margin: 0 0 10px !important;
border: 1px solid #ddd !important;
border-radius: 8px !important;
font-size: 14px !important;
line-height: 1.4 !important;
box-sizing: border-box !important;
display: block !important;
background: #fff !important;
color: #222 !important;
}
.ctwl-textarea {
resize: vertical !important;
min-height: 70px !important;
font-family: inherit !important;
}
.ctwl-error {
color: #d33 !important;
font-size: 13px !important;
margin: -4px 0 10px !important;
line-height: 1.4 !important;
}
.ctwl-required-note {
font-size: 12px !important;
color: #8a8a8a !important;
margin: -6px 0 10px !important;
line-height: 1.4 !important;
}
.ctwl-form-actions {
display: flex;
justify-content: space-between;
gap: 8px;
margin-top: 4px;
}
.ctwl-btn-secondary {
background: #eee !important;
border: none !important;
padding: 10px 14px !important;
border-radius: 8px !important;
cursor: pointer !important;
font-size: 14px !important;
line-height: 1.4 !important;
color: #333 !important;
}
.ctwl-btn-primary {
color: #fff !important;
border: none !important;
padding: 10px 14px !important;
border-radius: 8px !important;
cursor: pointer !important;
font-size: 14px !important;
line-height: 1.4 !important;
flex: 1;
}
#ctwl-step-thanks p {
text-align: center !important;
font-size: 14px !important;
color: #333 !important;
padding: 20px 0 !important;
margin: 0 !important;
line-height: 1.4 !important;
}
@media (max-width: 480px) {
.ctwl-panel {
position: fixed;
left: 12px;
right: 12px;
bottom: 92px;
width: auto;
}
}