.chat-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:12px;margin-bottom:10px;border-bottom:1px solid var(--line);}
.chat-title .avatar{width:34px;height:34px;border-radius:12px;background:linear-gradient(135deg,var(--amber),var(--amber-deep));display:grid;place-items:center;color:#FFFFFF;flex:0 0 auto;}
.chat-title .hlavicka-text{min-width:0;flex:1 1 auto;}
.chat-title .name{font-weight:700;font-size:.92rem;}
/* Celé znenie ostáva v `title`, aj keď sa riadok skráti výpustkou. */
.chat-title .status{font-size:.8rem;color:var(--amber);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.chat-title .ukonci{flex:0 0 auto;margin-left:auto;font-size:.8125rem;padding:8px 12px;}
.chat{height:320px;overflow-y:auto;scrollbar-width:thin;display:flex;flex-direction:column;gap:9px;padding:4px 2px;}
.bubble{font-size:.9rem;line-height:1.5;font-weight:500;padding:9px 12px;border-radius:13px;max-width:92%;opacity:0;transform:translateY(6px);animation:pop .35s ease forwards;}
@keyframes pop{to{opacity:1;transform:none;}}
.bubble.q{background:var(--glass-2);border:1px solid var(--line);border-bottom-right-radius:5px;margin-left:auto;}
.bubble.a{background:rgba(255,55,107,.15);border:1px solid rgba(255,55,107,.3);border-bottom-left-radius:5px;}
.typing{display:flex;gap:5px;align-items:center;background:rgba(255,55,107,.15);border:1px solid rgba(255,55,107,.3);border-radius:13px;border-bottom-left-radius:5px;padding:11px 13px;width:62px;opacity:0;animation:pop .3s ease forwards;}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--amber);opacity:.4;animation:blink 1.1s infinite;}
.typing i:nth-child(2){animation-delay:.18s;}
.typing i:nth-child(3){animation-delay:.36s;}
@keyframes blink{0%,80%,100%{opacity:.3;}40%{opacity:1;}}
.src{margin-top:2px;font-size:.8rem;color:var(--muted);font-weight:600;padding-left:4px;opacity:0;animation:pop .35s ease .15s forwards;}
.ask{display:flex;gap:8px;margin-top:12px;}
.ask input{flex:1;min-width:0;background:var(--glass-2);border:1px solid var(--line);border-radius:999px;padding:11px 16px;font-family:inherit;font-size:1rem;font-weight:500;color:var(--text);outline:none;transition:border-color .15s, box-shadow .15s;}
.ask input::placeholder{color:var(--muted);}
.ask input:focus{border-color:var(--amber);box-shadow:0 0 0 3px rgba(255,55,107,.18);}
/* 44px je minimum dotykového cieľa; odosielacie tlačidlo je jediný primárny
   dotykový cieľ widgetu, preto rástlo zo 42px (WCAG 2.5.8). */
.ask button{flex:0 0 auto;width:44px;height:44px;border:none;border-radius:50%;display:grid;place-items:center;cursor:pointer;transition:all .15s;}
.ask button[type="submit"]{background:var(--btn);color:#FFFFFF;}
.ask button[type="submit"]:hover{background:var(--btn-hover);transform:translateY(-1px);}
.ask button[type="submit"]:disabled{opacity:.45;cursor:default;transform:none;}

/* ----- stavy widgetu „Opýtaj sa" ----- */
.prazdny-stav{margin:auto 0;display:flex;flex-direction:column;gap:4px;padding:0 4px;color:var(--muted);font-size:.9rem;font-weight:500;line-height:1.5;}
.prazdny-stav b{font-size:.8125rem;font-weight:700;color:var(--text);}
.pocitadlo{margin-top:6px;padding-left:4px;font-size:.8125rem;line-height:1.45;font-weight:500;color:var(--muted);}
/* Prah je presná rovnosť s MAX_QUESTION_CHARS, triedu prepína modul. */
.pocitadlo.limit{color:var(--err);}
.gdpr-pozn a{color:var(--text);}
/* Značka [n] má aspoň 24px (WCAG 2.5.8); rovnocenne veľkým cieľom na to isté
   miesto je riadok zdroja nižšie (44px). Podčiarknutie je tu preto, aby farba
   nebola jediným znakom odkazu. */
.citacia{display:inline-block;min-width:20px;min-height:24px;padding:0 4px;color:var(--amber);text-decoration:underline;}
.zdroje{margin-top:24px;display:flex;flex-direction:column;gap:8px;padding-left:4px;opacity:0;animation:pop .35s ease .15s forwards;}
.zdroje-nadpis{font-size:.9rem;font-weight:700;line-height:1.4;color:var(--text);}
.zdroj-riadok{min-height:44px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.8125rem;line-height:1.45;color:var(--muted);overflow-wrap:anywhere;}
.zdroj-nazov{font-weight:700;color:var(--text);}
a.zdroj-nazov{color:var(--amber);text-decoration:underline;}
.zdroj-meta{font-size:.8125rem;font-weight:500;color:var(--muted);}
.zdroje-pozn{font-size:.8125rem;font-weight:500;line-height:1.45;color:var(--muted);}
/* Odmietnutie NIE je porucha: systém pracuje správne, len to v dokumentoch
   nie je. Preto ani výstražná farba, ani akcentový tint bubliny odpovede —
   musí sa čítať inak než odpoveď aj inak než prevádzková porucha. */
.odmietnutie{background:var(--glass-2);border:1px solid var(--line);border-left:3px solid var(--muted);border-radius:13px;padding:9px 12px;font-size:.9rem;line-height:1.5;font-weight:500;color:var(--text);max-width:92%;opacity:0;animation:pop .35s ease forwards;}
.odmietnutie-pozn{margin-top:6px;font-size:.8125rem;font-weight:500;line-height:1.45;color:var(--muted);}
.prevadzka{background:var(--glass-2);border:1px solid var(--line);border-left:3px solid var(--err);border-radius:13px;padding:9px 12px;font-size:.9rem;line-height:1.5;font-weight:500;color:var(--err);max-width:92%;opacity:0;animation:pop .35s ease forwards;}

/* ----- sprievodca „Bombura" (Phase 7) ----- */
/* Renderer odsekov NIČ neinterpretuje (UI-SPEC R2) — medzeru medzi odsekmi
   robí štýl, nie prázdny riadok v texte. */
.odsek{line-height:1.5;}
.odsek+.odsek{margin-top:8px;}
/* Vstup do sprievodcu má vlastný riadok pod formulárom a nad počítadlom;
   v bloku tipov by klik míňal tokeny (T-05-09), tu je štart bez tokenov. */
.vstup-riadok{margin-top:8px;}
.vstup-sprievodca{width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;background:transparent;border:1px solid var(--line);border-radius:999px;padding:10px 16px;font-family:inherit;font-size:.9rem;font-weight:700;line-height:1.4;color:var(--text);cursor:pointer;transition:border-color .15s,background .15s;}
.vstup-sprievodca:hover{border-color:var(--amber);background:var(--glass-2);}
.vstup-sprievodca .sipka{color:var(--amber);font-weight:700;}
.vstup-sprievodca:disabled{opacity:.45;cursor:default;}
.ponuka,.suhlas,.zhrnutie,.mazanie,.obnovenie,.stiahnutie{background:var(--glass-2);border:1px solid var(--line);border-radius:13px;padding:16px;font-size:.9rem;line-height:1.5;font-weight:500;color:var(--text);max-width:100%;opacity:0;animation:pop .35s ease forwards;}
/* Výstražná farba sa objaví AŽ pri potvrdení deštruktívnej akcie. */
.mazanie{border-left:3px solid var(--err);}
.blok-nadpis{font-size:.9rem;font-weight:700;line-height:1.4;margin-bottom:8px;}
.blok-telo{font-size:.9rem;line-height:1.5;}
.blok-telo+.blok-telo{margin-top:8px;}
.blok-akcie{display:flex;flex-direction:column;gap:8px;margin:12px 0;max-width:100%;}
.btn-ghost{font:inherit;font-size:.875rem;line-height:1.45;min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--glass-2);color:var(--text);text-align:left;cursor:pointer;overflow-wrap:anywhere;max-width:100%;}
.btn-ghost:hover,.btn-ghost:focus-visible{border-color:var(--amber);outline:2px solid var(--amber);outline-offset:2px;}
.btn-ghost:disabled{opacity:.55;cursor:default;}
.kos-riadok .btn-ghost{display:block;margin:6px 0 12px;}
.chat details{margin:10px 0;overflow-wrap:anywhere;}
.chat summary{cursor:pointer;font-weight:700;min-height:44px;padding:10px 0;}
/* Akčný riadok sa pri úzkej šírke ZALOMÍ, nezmršťuje sa pod 44 px. */
.akcie{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px;opacity:0;animation:pop .35s ease forwards;}
.btn-primar,.btn-obrys{min-height:44px;flex:1 1 auto;border-radius:999px;padding:10px 16px;font-family:inherit;font-size:.9rem;font-weight:700;line-height:1.4;cursor:pointer;transition:all .15s;}
.btn-primar{background:var(--btn);border:1px solid var(--btn);color:#FFFFFF;}
.btn-primar:hover{background:var(--btn-hover);}
.btn-obrys{background:transparent;border:1px solid var(--line);color:var(--text);}
.btn-obrys:hover{border-color:var(--amber);}
.btn-primar:disabled,.btn-obrys:disabled{opacity:.45;cursor:default;}
/* Jediné vyplnené tlačidlo v celej fáze, ktoré nesie výstražnú farbu. */
.btn-mazat{min-height:44px;flex:1 1 auto;border-radius:999px;padding:10px 16px;font-family:inherit;font-size:.9rem;font-weight:700;line-height:1.4;cursor:pointer;background:var(--err);border:1px solid var(--err);color:var(--bg);}
.btn-mazat:disabled{opacity:.45;cursor:default;}
.blok-odkaz{display:inline-block;margin-top:8px;color:var(--amber);text-decoration:underline;font-weight:700;}
.blok-verzia,.blok-pozn{margin-top:8px;font-size:.8125rem;line-height:1.45;font-weight:500;color:var(--muted);}
.kose{margin-top:8px;display:flex;flex-direction:column;gap:4px;}
.kos-nadpis{margin-top:8px;font-size:.9rem;font-weight:700;line-height:1.4;color:var(--text);}
.kos-riadok{font-size:.9rem;line-height:1.5;font-weight:500;color:var(--muted);overflow-wrap:anywhere;}
/* Palce nemajú akcent ani výstražnú farbu: akcent by závisel od toho, ako
   často občania klikajú, a výstražná farba by z čestnej spätnej väzby
   spravila chybu (UI-SPEC §Feedback thumbs). */
.hodnotenie{display:flex;gap:8px;align-items:center;padding-left:4px;}
.palec{width:44px;height:44px;display:grid;place-items:center;background:transparent;border:1px solid transparent;border-radius:999px;font-size:1rem;color:var(--muted);cursor:pointer;}
.palec:hover{background:var(--glass-2);color:var(--text);}
.palec:disabled{opacity:.45;cursor:default;}
.hodnotenie-vdaka{font-size:.8125rem;line-height:1.45;font-weight:500;color:var(--muted);}
.phone-pata{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);}
.mazat-spustac{background:transparent;border:none;padding:8px 4px;min-height:44px;font-family:inherit;font-size:.8125rem;font-weight:700;line-height:1.45;color:var(--muted);text-decoration:underline;cursor:pointer;}
.mazat-spustac:hover{color:var(--text);}
.sedenie-pozn{margin-top:2px;font-size:.8125rem;line-height:1.45;font-weight:500;color:var(--muted);}
/* Id sedenia je vyberateľný TEXT, nikdy odkaz a nikdy súčasť adresy. */
.sedenie-id{user-select:all;overflow-wrap:anywhere;color:var(--text);}


body.chat-page{height:100dvh;overflow:hidden}
.chat-page .app{height:var(--viewport-height,100dvh);position:absolute;top:var(--viewport-top,0px);left:0;width:100%;display:flex;flex-direction:column}
.chat-page header{flex:none;position:relative}
.chat-main{width:100%;max-width:880px;margin:0 auto;min-height:0;flex:1;display:flex;flex-direction:column;padding:12px clamp(12px,3vw,28px) max(8px,env(safe-area-inset-bottom))}
.chat-title{flex:none;margin:0;padding:0 0 10px}.chat-title h1{font-size:1rem}.chat-title .status{font-size:.75rem}
.chat{height:auto;min-height:0;flex:1;padding:16px 2px;overscroll-behavior:contain;overflow-wrap:anywhere;scroll-behavior:auto}
.chat-tools{display:flex;gap:8px}.chat-tools button{font-size:.75rem}
.prazdny-stav{max-width:600px;margin:auto;gap:14px;padding:20px 4px}.prazdny-stav b{font-size:clamp(1.3rem,3vw,1.8rem);color:var(--text)}
.tipy{display:flex;flex-direction:column;gap:8px}.tip{border:1px solid var(--line);border-radius:12px;padding:12px;font-size:.85rem}.tip span{color:var(--amber);margin-right:8px}
.ask{flex:none;margin-top:6px}.ask input{font-size:16px}.gdpr-pozn{margin:6px 4px 0}.vstup-riadok{padding:4px 0 0}.vstup-sprievodca{font-size:.8rem;min-height:36px;padding:6px 12px}
.pocitadlo:empty{display:none}.phone-pata{max-height:96px;overflow:auto;flex:none}.sedenie-id{overflow-wrap:anywhere}
@media(max-width:480px){.chat-title .avatar{display:none}.chat-title{gap:6px}.chat-title .ukonci{padding:6px;font-size:.7rem}.chat-tools button{padding:6px}.bubble{max-width:96%}}
@media(max-height:540px){.gdpr-pozn,.vstup-riadok,.pocitadlo{display:none}.chat-main{padding-top:4px}.chat-title{padding-bottom:4px}.hd-top{padding-top:4px;padding-bottom:4px}.phone-pata{max-height:48px}}
@media (prefers-reduced-motion:reduce){
  .bubble,.typing,.src,.zdroje,.odmietnutie,.prevadzka,.odsek,.ponuka,.suhlas,.zhrnutie,.mazanie,.akcie,.obnovenie,.stiahnutie{animation:none;opacity:1;transform:none}
  .typing i{animation:none}
}
.zdroj-ukazka{margin-top:.5rem;font-size:.85rem}
.zdroj-ukazka summary{cursor:pointer;text-decoration:underline}
.zdroj-ukazka blockquote{margin:.6rem 0;padding-left:.8rem;border-left:2px solid currentColor;white-space:pre-wrap;overflow-wrap:anywhere;max-height:24rem;overflow:auto}
