.zb-msg{max-width:85%;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.5;font-family:'IBM Plex Sans',system-ui,sans-serif;white-space:pre-line}
.zb-msg.bot{align-self:flex-start;background:#f1f5f9;color:#1e293b;border-bottom-left-radius:4px}
.zb-msg.user{align-self:flex-end;background:#14b8a6;color:#fff;border-bottom-right-radius:4px}
.zb-typing{align-self:flex-start;display:flex;align-items:center;gap:8px;padding:10px 14px;background:#f1f5f9;border-radius:16px;border-bottom-left-radius:4px}
.zb-typing .dots{display:flex;gap:4px}
.zb-typing .dots span{width:6px;height:6px;background:#14b8a6;border-radius:50%;animation:zbBounce .6s ease-in-out infinite}
.zb-typing .dots span:nth-child(2){animation-delay:.15s}
.zb-typing .dots span:nth-child(3){animation-delay:.3s}
.zb-suggestions{padding:0 16px 8px;display:flex;flex-wrap:wrap;gap:6px;flex-shrink:0}
.zb-suggestion{padding:6px 14px;border-radius:20px;font-size:12px;font-weight:500;background:#f0fdfa;color:#0d9488;border:1px solid #99f6e4;cursor:pointer;transition:all .2s;font-family:'IBM Plex Sans',sans-serif}
.zb-suggestion:hover{background:#ccfbf1;border-color:#5eead4}
.contact-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:rgba(15,23,42,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow-y:auto;-webkit-overflow-scrolling:touch}
.contact-overlay.open{display:flex;align-items:flex-start;justify-content:center;padding:40px 20px}
.contact-page{background:#fff;border-radius:24px;max-width:960px;width:100%;box-shadow:0 25px 80px rgba(0,0,0,.18);animation:fadeUp .5s ease-out both;position:relative;overflow:hidden}
.contact-close{position:absolute;top:20px;right:20px;width:44px;height:44px;border-radius:12px;border:1px solid #e2e8f0;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;transition:all .2s}
.contact-close:hover{background:#f1f5f9;border-color:#c7d2fe}
.contact-close svg{width:20px;height:20px;color:#64748b}
.contact-header{padding:60px 48px 40px;background:linear-gradient(135deg,#4f46e5,#6366f1);position:relative;overflow:hidden}
.contact-header::before{content:'';position:absolute;top:-80px;right:-80px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.06)}
.contact-header::after{content:'';position:absolute;bottom:-40px;left:-40px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.04)}
.contact-header h2{font-size:clamp(28px,4vw,40px);color:#fff;margin-bottom:10px;position:relative;z-index:1}
.contact-header p{font-size:17px;color:rgba(255,255,255,.8);max-width:500px;position:relative;z-index:1}
.contact-body{display:grid;grid-template-columns:1fr 1fr;gap:0}
.contact-form-wrap{padding:40px 48px}
.contact-info-wrap{padding:40px 48px;background:#f8fafc;border-left:1px solid #e2e8f0}
.contact-form-wrap h3,.contact-info-wrap h3{font-size:20px;color:#0f172a;margin-bottom:24px}
.contact-form .form-group{margin-bottom:18px}
.contact-form label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:6px}
.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:12px 16px;border:1.5px solid #e2e8f0;border-radius:10px;font-family:'IBM Plex Sans',sans-serif;font-size:15px;color:#1e293b;background:#fff;transition:border-color .2s,box-shadow .2s;outline:none}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.12)}
.contact-form textarea{resize:vertical;min-height:110px}
.contact-form .btn-submit{width:100%;padding:14px 24px;border:none;border-radius:12px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:16px;cursor:pointer;transition:all .25s;display:flex;align-items:center;justify-content:center;gap:8px}
.contact-form .btn-submit:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(79,70,229,.4)}
.contact-form .btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}
.contact-info-card{display:flex;align-items:flex-start;gap:16px;padding:18px;border-radius:14px;background:#fff;border:1px solid #e2e8f0;margin-bottom:14px;transition:border-color .2s,box-shadow .2s}
.contact-info-card:hover{border-color:#c7d2fe;box-shadow:0 4px 16px rgba(99,102,241,.08)}
.contact-info-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contact-info-icon svg{width:20px;height:20px}
.contact-info-card h3.contact-label,.contact-info-card h4{font-size:14px;font-weight:700;color:#0f172a;margin-bottom:4px}
.contact-info-card p,.contact-info-card a{font-size:14px;color:#64748b;line-height:1.5}
.contact-info-card a{color:#4338ca;font-weight:500;text-decoration:none}
.contact-info-card a:hover{text-decoration:underline}
.contact-map{width:100%;height:180px;border-radius:14px;border:1px solid #e2e8f0;overflow:hidden;margin-top:14px}
.contact-map iframe{width:100%;height:100%;border:0}
.contact-success{display:none;text-align:center;padding:48px 24px}
.contact-success svg{width:64px;height:64px;color:#10b981;margin-bottom:16px}
.contact-success h3{font-size:22px;color:#0f172a;margin-bottom:8px}
.contact-success p{font-size:15px;color:#64748b}
.contact-overlay.open{padding:16px 10px}
.contact-body{grid-template-columns:1fr}
.contact-info-wrap{border-left:none;border-top:1px solid #e2e8f0}
.contact-form-wrap,.contact-info-wrap{padding:28px 24px}
.contact-header{padding:48px 24px 32px}
.zenbot-fab{position:fixed;bottom:max(24px,env(safe-area-inset-bottom,24px));left:24px;z-index:9990;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#14b8a6,#059669);color:#fff;border:none;cursor:pointer;box-shadow:0 6px 24px rgba(20,184,166,.4);display:flex;align-items:center;justify-content:center;transition:all .2s}
.zenbot-fab:hover{transform:scale(1.08);box-shadow:0 8px 30px rgba(20,184,166,.5)}
.zenbot-fab.hidden{opacity:0;pointer-events:none;transform:scale(.8)}
.zenbot-fab .dot-notif{position:absolute;top:-1px;right:-1px;width:12px;height:12px;background:#ef4444;border-radius:50%;border:2px solid #fff;display:none}
.zenbot-panel{position:fixed;bottom:0;left:0;z-index:9995;width:100%;height:100%;background:#fff;display:flex;flex-direction:column;overflow:hidden;transition:all .3s ease;opacity:0;transform:translateY(16px) scale(.95);pointer-events:none}
.zenbot-panel.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.zenbot-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:linear-gradient(135deg,#14b8a6,#059669);color:#fff;flex-shrink:0}
.zenbot-header .zb-title{display:flex;align-items:center;gap:8px}
.zenbot-header .zb-title h3{font-size:15px;font-weight:700;font-family:'Plus Jakarta Sans',sans-serif;margin:0}
.zenbot-header .zb-title p{font-size:10px;opacity:.8;margin:0}
.zenbot-header button{background:none;border:none;color:#fff;cursor:pointer;padding:6px;border-radius:8px;transition:background .2s}
.zenbot-header button:hover{background:rgba(255,255,255,.2)}
.zenbot-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}
.zenbot-input{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid #e2e8f0;flex-shrink:0}
.zenbot-input input{flex:1;border:none;outline:none;font-size:14px;font-family:'IBM Plex Sans',system-ui,sans-serif;background:transparent;color:#1e293b}
.zenbot-input input::placeholder{color:#94a3b8}
.zenbot-input button{width:36px;height:36px;border-radius:50%;background:#14b8a6;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0}
.zenbot-input button:hover{background:#0d9488}
.zenbot-input button:disabled{background:#d1d5db;cursor:not-allowed}