.cci-wa-bubble { position: fixed; left: 14px; bottom: 18px; z-index: 9998; max-width: min(300px, calc(100vw - 100px)); background: #fff; color: #111827; border-radius: 14px; border-left: 4px solid #25d366; box-shadow: 0 8px 28px rgba(0,0,0,.22); padding: 14px 34px 14px 14px; animation: cciWaUp .35s ease-out; }
.cci-wa-bubble .cci-wa-text { margin: 0 0 10px; font-size: 14px; line-height: 1.4; }
.cci-wa-x { position: absolute; top: 4px; right: 6px; width: 28px; height: 28px; border: 0; background: transparent; font-size: 22px; line-height: 1; color: #6b7280; cursor: pointer; padding: 0; }
.cci-wa-btn { display: inline-block; background: #25d366; color: #fff !important; font-weight: 700; font-size: 14px; line-height: 1.2; padding: 10px 14px; border-radius: 10px; text-decoration: none !important; text-align: center; }
.cci-wa-btn:hover { background: #1ebe5a; }
.cci-wa-overlay { position: fixed; inset: 0; z-index: 99999; background: rgba(17,24,39,.55); display: flex; align-items: center; justify-content: center; padding: 16px; animation: cciWaFade .25s ease-out; }
.cci-wa-modal { position: relative; background: #fff; color: #111827; border-radius: 16px; max-width: 400px; width: 100%; padding: 26px 22px 18px; text-align: center; box-shadow: 0 18px 50px rgba(0,0,0,.35); }
.cci-wa-modal .cci-wa-title { margin: 0 0 8px; font-size: 20px; line-height: 1.25; }
.cci-wa-modal .cci-wa-text { margin: 0 0 16px; font-size: 15px; line-height: 1.45; color: #374151; }
.cci-wa-modal .cci-wa-btn { display: block; font-size: 16px; padding: 13px 16px; }
.cci-wa-no { display: block; margin: 12px auto 0; border: 0; background: transparent; color: #6b7280; font-size: 13px; cursor: pointer; text-decoration: underline; }
.cci-wa-contact { margin: 14px 0 4px; padding: 14px; border: 1px dashed #25d366; border-radius: 12px; background: #f0fdf4; text-align: center; }
.cci-wa-contact .cci-wa-contact-q { display: block; font-weight: 700; margin-bottom: 10px; color: #14532d; }
.cci-wa-contact .cci-wa-btn { display: block; }
@keyframes cciWaUp { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes cciWaFade { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .cci-wa-bubble, .cci-wa-overlay { animation: none; } }