/* Alberto AI — modern chat widget */
.alberto-root{
  --a-primary:#2563EB; --a-primary-dark:#1D4ED8; --a-navy:#0F172A;
  --a-bg:#FFFFFF; --a-soft:#F8FAFC; --a-border:#E5E7EB; --a-text:#1E293B;
  --a-muted:#64748B; --a-user:#2563EB; --a-radius:18px;
  position:fixed; bottom:24px; right:24px; z-index:2147483000;
  font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
.alberto-root *{box-sizing:border-box}

/* Launcher */
.alberto-toggle{
  display:flex;align-items:center;gap:9px;background:var(--a-navy);color:#fff;border:none;
  border-radius:999px;padding:13px 20px;font-size:15px;font-weight:700;cursor:pointer;
  box-shadow:0 10px 30px rgba(15,23,42,.28);transition:transform .18s ease,background .18s ease;
  font-family:inherit;
}
.alberto-toggle:hover{transform:translateY(-2px);background:var(--a-primary)}
.alberto-toggle-icon{display:flex}
.alberto-toggle-icon img{width:28px;height:28px;border-radius:50%;object-fit:cover;background:#fff}
.alberto-toggle-label{line-height:1}

/* Window */
.alberto-window{
  position:absolute;bottom:74px;right:0;width:384px;max-width:calc(100vw - 32px);
  height:600px;max-height:calc(100vh - 120px);background:var(--a-bg);border-radius:var(--a-radius);
  box-shadow:0 24px 70px rgba(15,23,42,.32);display:flex;flex-direction:column;overflow:hidden;
  border:1px solid var(--a-border);animation:aPop .28s cubic-bezier(.16,1,.3,1);
}
@keyframes aPop{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}

/* Header */
.alberto-header{display:flex;align-items:center;gap:11px;padding:13px 14px;
  background:linear-gradient(135deg,#111827,#1e293b);color:#fff}
.alberto-ava{width:38px;height:38px;border-radius:50%;background:#fff;overflow:hidden;flex:none}
.alberto-ava img{width:100%;height:100%;object-fit:cover;display:block}
.alberto-head-txt{display:flex;flex-direction:column;line-height:1.25;margin-right:auto}
.alberto-head-txt strong{font-size:15px}
.alberto-status{display:flex;align-items:center;gap:6px;font-size:12px;opacity:.8}
/* Neutral until the health ping resolves; green when online, orange when off. */
.alberto-status-dot{width:8px;height:8px;border-radius:50%;background:#94a3b8;box-shadow:0 0 0 3px rgba(148,163,184,.22);transition:background .2s,box-shadow .2s}
.alberto-status-dot.ok{background:#34D399;box-shadow:0 0 0 3px rgba(52,211,153,.25)}
.alberto-status-dot.warn{background:#F59E0B;box-shadow:0 0 0 3px rgba(245,158,11,.25)}
.alberto-ico-btn{background:rgba(255,255,255,.08);border:none;color:#fff;width:32px;height:32px;
  border-radius:9px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}
.alberto-ico-btn:hover{background:rgba(255,255,255,.2)}
.alberto-ico-btn svg{width:16px;height:16px}

/* Messages */
.alberto-messages{flex:1;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:10px;background:var(--a-soft)}
.alberto-msg{max-width:84%;padding:11px 14px;border-radius:16px;font-size:14.5px;line-height:1.5;
  white-space:pre-wrap;word-wrap:break-word;animation:aFade .25s ease}
@keyframes aFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.alberto-bot{background:#fff;border:1px solid var(--a-border);color:var(--a-text);align-self:flex-start;border-bottom-left-radius:5px;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.alberto-user{background:var(--a-user);color:#fff;align-self:flex-end;border-bottom-right-radius:5px}
.alberto-typing{align-self:flex-start;background:#fff;border:1px solid var(--a-border);border-radius:16px;
  border-bottom-left-radius:5px;padding:13px 15px;display:flex;gap:4px}
.alberto-typing span{width:7px;height:7px;border-radius:50%;background:#94A3B8;animation:aBounce 1.2s infinite}
.alberto-typing span:nth-child(2){animation-delay:.15s}.alberto-typing span:nth-child(3){animation-delay:.3s}
@keyframes aBounce{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-5px);opacity:1}}

/* Input */
.alberto-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--a-border);background:#fff}
.alberto-form input{flex:1;border:1px solid var(--a-border);border-radius:999px;padding:11px 16px;
  font-size:14.5px;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s;color:var(--a-text)}
.alberto-form input:focus{border-color:var(--a-primary);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.alberto-send{background:var(--a-primary);color:#fff;border:none;border-radius:50%;width:44px;height:44px;
  cursor:pointer;flex:none;display:flex;align-items:center;justify-content:center;transition:background .15s,transform .15s}
.alberto-send:hover{background:var(--a-primary-dark);transform:scale(1.05)}
.alberto-send svg{width:18px;height:18px}

/* Panels (consent + review) */
.alberto-panel{flex:1;overflow-y:auto;padding:22px 20px;background:var(--a-soft);color:var(--a-text)}
.alberto-panel h3{margin:0 0 8px;font-size:19px;color:var(--a-navy)}
.alberto-panel p{margin:0 0 12px;font-size:14px;line-height:1.55;color:var(--a-text)}
.alberto-consent-links a{color:var(--a-primary);text-decoration:underline}
.alberto-check{display:flex;gap:9px;align-items:flex-start;margin:14px 0;cursor:pointer;font-size:14px}
.alberto-check input{margin-top:3px;width:16px;height:16px;accent-color:var(--a-primary);flex:none}
.alberto-ts{margin:14px 0}
.alberto-btn{width:100%;border:none;border-radius:12px;padding:13px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .15s,transform .15s}
.alberto-btn-primary{background:var(--a-navy);color:#fff}
.alberto-btn-primary:not(:disabled):hover{background:var(--a-primary);transform:translateY(-1px)}
.alberto-btn-primary:disabled{opacity:.45;cursor:not-allowed}
.alberto-btn-ghost{background:transparent;color:var(--a-muted);border:1px solid var(--a-border)}
.alberto-btn-ghost:hover{background:#fff}

/* Review */
.alberto-review .alberto-stars{display:flex;gap:6px;justify-content:center;margin:16px 0}
.alberto-star{background:none;border:none;font-size:36px;line-height:1;cursor:pointer;color:#CBD5E1;transition:transform .12s,color .12s;padding:0}
.alberto-star:hover{transform:scale(1.15)}
.alberto-star.on{color:#F5A623}
.alberto-textarea{width:100%;border:1px solid var(--a-border);border-radius:12px;padding:11px 13px;font-size:14px;font-family:inherit;resize:vertical;outline:none;color:var(--a-text)}
.alberto-textarea:focus{border-color:var(--a-primary);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.alberto-review-actions{display:flex;gap:10px;margin-top:16px}
.alberto-review-actions .alberto-btn{width:auto;flex:1}

/* Language chooser (consent panel) */
.alberto-lang-label{font-size:12px;font-weight:700;color:var(--a-muted);text-transform:uppercase;letter-spacing:.4px;margin:0 0 8px}
.alberto-lang{display:flex;gap:8px;margin:0 0 14px}
.alberto-lang-btn{flex:1;border:1px solid var(--a-border);border-radius:10px;padding:10px;background:#fff;cursor:pointer;font-weight:600;font-size:14px;font-family:inherit;color:var(--a-text)}
.alberto-lang-btn.on{border-color:var(--a-primary);background:#eff6ff;color:var(--a-primary)}

/* Quick-reply choices */
.alberto-choices{display:flex;flex-wrap:wrap;gap:6px;padding:2px 12px 8px;background:#fff}
.alberto-choice{background:#eff6ff;border:1px solid #bfdbfe;color:var(--a-primary);border-radius:999px;padding:7px 12px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}
.alberto-choice:hover{background:var(--a-primary);color:#fff;border-color:var(--a-primary)}

/* Quick actions */
.alberto-quick{display:flex;gap:8px;flex-wrap:wrap;padding:8px 12px 0;background:#fff}
.alberto-chip{display:inline-flex;align-items:center;gap:6px;background:var(--a-soft);border:1px solid var(--a-border);border-radius:999px;padding:7px 13px;font-size:13px;font-weight:600;color:var(--a-navy);cursor:pointer;font-family:inherit}
.alberto-chip:hover{border-color:var(--a-primary);color:var(--a-primary)}
.ab-ic{width:16px;height:16px;flex:none}

/* Rich booking cards (rendered inside bot bubbles) */
.alberto-msg.ab-wide{max-width:100%;width:100%;padding:10px}
.ab-loading{color:var(--a-muted);font-size:13px;padding:6px 2px}
.ab-rooms{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ab-room{display:flex;flex-direction:column;text-align:left;border:1px solid var(--a-border);border-radius:12px;overflow:hidden;background:#fff;cursor:pointer;padding:0;font-family:inherit;transition:border-color .15s,box-shadow .15s}
.ab-room:hover{border-color:var(--a-primary);box-shadow:0 4px 14px rgba(37,99,235,.1)}
.ab-room-img{height:74px;background-size:cover;background-position:center;background-color:#e5e7eb}
.ab-noimg{background:linear-gradient(135deg,#e2e8f0,#cbd5e1)}
.ab-room-b{padding:8px 10px;display:flex;flex-direction:column;gap:2px}
.ab-room-name{font-weight:700;font-size:13px;color:var(--a-navy)}
.ab-room-desc{font-size:11px;color:var(--a-muted);line-height:1.35}
.ab-room-meta{font-size:11px;color:var(--a-muted)}
.ab-free{color:#059669;font-weight:700}

/* Extras (Zusatzleistungen) */
.ab-extras{display:flex;flex-direction:column;gap:8px}
.ab-extra{display:flex;align-items:flex-start;gap:10px;text-align:left;border:1px solid var(--a-border);border-radius:12px;padding:10px 12px;background:#fff;cursor:pointer;font-family:inherit;width:100%}
.ab-extra:hover{border-color:var(--a-primary)}
.ab-extra.on{border-color:var(--a-primary);background:#eff6ff}
.ab-check{width:22px;height:22px;border:2px solid var(--a-border);border-radius:6px;display:flex;align-items:center;justify-content:center;flex:none;color:#fff;font-size:13px;font-weight:800;margin-top:1px}
.ab-extra.on .ab-check{background:var(--a-primary);border-color:var(--a-primary)}
.ab-extra-b{flex:1;display:flex;flex-direction:column;gap:2px}
.ab-extra-name{font-weight:700;font-size:13px;color:var(--a-navy)}
.ab-extra-desc{font-size:11px;color:var(--a-muted);line-height:1.35}
.ab-extra-price{font-weight:700;font-size:13px;color:var(--a-navy);white-space:nowrap}
.ab-total{margin-top:10px;background:var(--a-soft);border:1px solid var(--a-border);border-radius:10px;padding:9px 12px;font-size:13px;color:var(--a-text)}
.ab-total span{font-size:11px;color:var(--a-muted)}

.ab-cal{max-width:100%}
.ab-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-weight:700;color:var(--a-navy);font-size:16px}
.ab-cal-nav{width:38px;height:38px;border:1px solid var(--a-border);background:#fff;border-radius:9px;cursor:pointer;font-size:19px;line-height:1;color:var(--a-text)}
.ab-cal-nav:hover:not(:disabled){border-color:var(--a-primary);color:var(--a-primary)}
.ab-cal-nav:disabled{opacity:.3;cursor:not-allowed}
.ab-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}
.ab-cal-dl{font-size:12px;color:var(--a-muted);font-weight:700;padding:4px 0}
.ab-cal-d{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid transparent;background:none;border-radius:10px;font-size:15px;cursor:pointer;color:var(--a-text);font-family:inherit}
.ab-cal-d:hover:not(.ab-dis){background:#eff6ff;color:var(--a-primary)}
.ab-cal-d.ab-dis{color:#cbd5e1;cursor:not-allowed}
.ab-cal-d.ab-sel{background:var(--a-primary);color:#fff;font-weight:700}

.ab-badge{display:inline-block;font-size:11px;padding:1px 8px;border-radius:999px;font-weight:600}
.ab-badge.ab-avail{background:#ecfdf5;color:#065f46}
.ab-badge.ab-busy{background:#fef2f2;color:#991b1b}
.ab-badge.ab-past{background:#f1f5f9;color:#64748b}
.ab-hint,.ab-sel-info{font-size:12px;margin-bottom:8px}
.ab-sel-info{background:#eff6ff;color:var(--a-primary);font-weight:600;padding:7px 10px;border-radius:8px}
.ab-hint{color:var(--a-muted)}
.ab-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.ab-slot{border:1px solid var(--a-border);border-radius:8px;padding:8px 4px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;text-align:center}
.ab-slot.ab-avail{background:#ecfdf5;color:#065f46;border-color:#a7f3d0}
.ab-slot.ab-avail:hover{border-color:var(--a-primary);color:var(--a-primary)}
.ab-slot.ab-busy{background:#fee2e2;color:#991b1b;border-color:#fecaca;cursor:not-allowed;opacity:.7}
.ab-slot.ab-past{background:var(--a-soft);color:#94a3b8;cursor:not-allowed;opacity:.7}
.ab-slot.ab-inrange{background:var(--a-primary);color:#fff;border-color:var(--a-primary)}

.ab-btn{width:100%;margin-top:10px;background:var(--a-navy);color:#fff;border:none;border-radius:10px;padding:11px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit}
.ab-btn:hover:not(:disabled){background:var(--a-primary)}
.ab-btn:disabled{opacity:.45;cursor:not-allowed}
.ab-form{display:flex;flex-direction:column;gap:8px}
.ab-in{border:1px solid var(--a-border);border-radius:10px;padding:10px 12px;font-size:14px;font-family:inherit;outline:none}
.ab-in:focus{border-color:var(--a-primary);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.ab-form-sum{font-size:12px;color:var(--a-muted);font-weight:600}
.ab-note{font-size:11px;color:var(--a-muted);line-height:1.4}
.ab-done{display:flex;gap:8px;align-items:flex-start;color:#065f46;font-size:14px;line-height:1.5}
.ab-done .ab-ic{width:20px;height:20px;color:#059669;margin-top:1px}
.ab-err{color:#991b1b;font-size:14px}
.ab-link{color:var(--a-primary);text-decoration:underline;word-break:break-word}

/* Newsletter form */
.ab-nl-check{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:var(--a-muted);line-height:1.4}
.ab-nl-check input{margin-top:2px;flex:none;accent-color:var(--a-primary)}

/* Contact info card */
.ct-card{background:#fff;border:1px solid var(--a-border);border-radius:14px;padding:14px 16px}
.ct-map{margin:-4px -4px 10px;border-radius:12px;overflow:hidden;border:1px solid var(--a-border)}
.ct-map iframe{display:block;width:100%;height:180px;border:0}
.ct-row{display:flex;gap:11px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--a-soft);font-size:13px;color:var(--a-text)}
.ct-row:last-of-type{border-bottom:none}
.ct-ic{width:30px;height:30px;border-radius:9px;background:#fde8ec;color:#d90429;display:flex;align-items:center;justify-content:center;flex:none}
.ct-ic svg{width:16px;height:16px}
.ct-row b{color:var(--a-navy)}
.ct-maps{display:inline-flex;margin-top:10px}

/* Team profile cards (department routing) */
.tm-card{background:#fff;border:1px solid var(--a-border);border-radius:16px;padding:16px;text-align:center;box-shadow:0 2px 8px rgba(15,23,42,.05)}
.tm-ava{width:76px;height:76px;border-radius:50%;margin:2px auto 10px;background-size:cover;background-position:center;background-color:#e5e7eb;border:3px solid #fff;box-shadow:0 2px 8px rgba(15,23,42,.12)}
.tm-ava-i{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#94a3b8,#64748b);color:#fff;font-weight:800;font-size:26px}
.tm-name{font-size:17px;font-weight:800;color:var(--a-navy)}
.tm-role{display:inline-block;margin-top:6px;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#d90429;background:#fde8ec;border-radius:999px;padding:4px 12px}
.tm-bio{margin-top:10px;font-size:13px;line-height:1.5;color:var(--a-muted)}
.tm-btns{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:14px}
.tm-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:10px;font-size:12px;font-weight:700;text-decoration:none;color:#fff}
.tm-btn svg{width:14px;height:14px}
.tm-mail{background:#d90429}.tm-mail:hover{background:#b00320}
.tm-li{background:#2563EB}.tm-li:hover{background:#1d4ed8}
.tm-extra{background:linear-gradient(135deg,#d90429,#7c3aed)}

/* Event cards */
.ev-list{display:flex;flex-direction:column;gap:10px}
.ev-card{display:flex;flex-direction:column;border:1px solid var(--a-border);border-radius:14px;overflow:hidden;background:#fff}
.ev-img{height:120px;background-size:cover;background-position:center;background-color:#e5e7eb}
.ev-img.ev-noimg{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e2e8f0,#cbd5e1);color:#94a3b8}
.ev-img.ev-noimg svg{width:34px;height:34px}
.ev-b{padding:11px 13px;display:flex;flex-direction:column;gap:5px}
.ev-title{font-weight:800;font-size:14px;color:var(--a-navy);line-height:1.3}
.ev-meta{font-size:12px;color:var(--a-muted);font-weight:600}
.ev-cta{display:flex;align-items:center;gap:10px;margin-top:4px;flex-wrap:wrap}
.ev-details{font-size:12px;font-weight:700;color:var(--a-primary);text-decoration:none}
.ev-details:hover{text-decoration:underline}
.ev-reg{width:auto;margin:0;margin-left:auto;padding:8px 16px;font-size:13px;border-radius:9px;display:inline-block;text-decoration:none;text-align:center}
a.ev-reg{line-height:1.3}

/* Startup consultant: category chooser */
.cn-cats{display:flex;flex-direction:column;gap:8px}
.cn-cat{display:flex;align-items:center;justify-content:space-between;text-align:left;border:1px solid var(--a-border);border-radius:12px;padding:13px 15px;background:#fff;cursor:pointer;font-family:inherit;font-size:14px;font-weight:700;color:var(--a-navy);width:100%}
.cn-cat:hover{border-color:var(--a-primary);color:var(--a-primary);background:#eff6ff}
.cn-cat::after{content:"→";opacity:.5;font-weight:400}

/* End-chat bar */
.alberto-endbar{display:flex;justify-content:center;padding:6px 12px 0;background:#fff}
.alberto-endchat{background:none;border:1px solid var(--a-border);color:var(--a-muted);border-radius:999px;padding:5px 14px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}
.alberto-endchat:hover{border-color:#ef4444;color:#ef4444}

/* Mobile: full-screen sheet */
@media (max-width:640px){
  .alberto-root{bottom:16px;right:16px}
  .alberto-window{position:fixed;inset:0;width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0;border:none}
}
