/* ---------- AI chat widget ---------- */
#aiChat{position:fixed;right:1.2rem;bottom:1.2rem;z-index:70}
#aiChatToggle{width:56px;height:56px;border-radius:50%;border:0;cursor:pointer;background:var(--amber);color:#14100A;display:grid;place-items:center;box-shadow:0 14px 34px -12px rgba(245,165,36,.6);transition:transform .2s}
#aiChatToggle:hover{transform:scale(1.06)}
#aiChatToggle svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#aiChatPanel{position:fixed;right:1.2rem;bottom:5.4rem;width:min(360px,calc(100vw - 2.4rem));height:min(520px,calc(100vh - 8rem));background:var(--ink-2);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 60px -20px rgba(0,0,0,.6);display:flex;flex-direction:column;overflow:hidden}
#aiChatPanel[hidden]{display:none}
#aiChatHead{display:flex;align-items:center;gap:.6rem;padding:.85rem 1rem;border-bottom:1px solid var(--line);font-family:var(--f-disp);font-weight:700;color:var(--text)}
#aiChatHead span{flex:1}
#aiChatHead button{background:none;border:0;cursor:pointer;color:var(--muted);padding:.3rem}
#aiChatHead button svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round}
#aiChatMsgs{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.65rem;font-size:.9rem;line-height:1.45}
.aic-msg{max-width:85%;padding:.55rem .8rem;border-radius:12px;white-space:pre-wrap}
.aic-msg--bot{align-self:flex-start;background:var(--ink);color:var(--text);border:1px solid var(--line)}
.aic-msg--user{align-self:flex-end;background:var(--amber);color:#14100A}
.aic-msg--typing{align-self:flex-start;color:var(--muted);font-style:italic}
.aic-msg a{color:var(--amber);text-decoration:underline}
.aic-msg--user a{color:#14100A;font-weight:700}
#aiChatChips{display:flex;flex-wrap:wrap;gap:.4rem;padding:0 1rem .7rem}
#aiChatChips button{font-size:.76rem;padding:.4rem .7rem;border-radius:999px;border:1px solid var(--amber-line);background:var(--amber-soft);color:var(--amber);cursor:pointer}
.aiChatPrivacy{margin:0 1rem .7rem;color:var(--muted);font-size:.68rem;line-height:1.45}
.aiChatPrivacy a{color:var(--amber);text-decoration:underline}
#aiChatElonezet{position:relative;margin:0 .75rem .6rem;display:inline-flex}
#aiChatElonezet[hidden]{display:none}
#aiChatElonezetKep{height:64px;width:64px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
#aiChatElonezetX{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;border:0;background:#000;color:#fff;display:grid;place-items:center;cursor:pointer}
#aiChatElonezetX svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2}
#aiChatFoto{width:40px;height:40px;flex:none;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer}
#aiChatFoto:hover{color:var(--amber);border-color:var(--amber-line)}
#aiChatFoto svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.aic-msg img{display:block;max-width:100%;border-radius:8px;margin-top:.4rem}
#aiChatForm{display:flex;gap:.5rem;padding:.75rem;border-top:1px solid var(--line)}
#aiChatInput{flex:1;background:var(--ink);border:1px solid var(--line);border-radius:999px;padding:.6rem 1rem;font-size:.9rem;color:var(--text);min-width:0}
[data-theme="light"] #aiChatInput{background:#fff}
#aiChatInput:focus{outline:none;border-color:var(--amber)}
#aiChatForm button{width:40px;height:40px;flex:none;border-radius:50%;border:0;background:var(--amber);color:#14100A;display:grid;place-items:center;cursor:pointer}
#aiChatForm button svg{width:16px;height:16px;fill:currentColor}
@media(max-width:760px){
  #aiChat{right:.9rem;bottom:calc(74px + env(safe-area-inset-bottom) + .8rem)}
  #aiChatPanel{right:.9rem;bottom:calc(74px + env(safe-area-inset-bottom) + 4.6rem);width:calc(100vw - 1.8rem)}
}

/* ---------- szezonális üzenetsáv ---------- */
#szezonSav{background:var(--amber-soft);border-bottom:1px solid var(--amber-line)}
#szezonSav .wrap{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;padding:.6rem 1.4rem;font-size:.86rem;text-align:center}
#szezonSzoveg{color:var(--text)}
#szezonLink{color:var(--amber);font-weight:700;text-decoration:none;white-space:nowrap}
#szezonLink:hover{text-decoration:underline}

/* ---------- vízkorlátozási sáv ---------- */
#vizSav{background:rgba(127,190,255,.12);border-bottom:1px solid rgba(127,190,255,.35)}
#vizSav[hidden]{display:none}
#vizSav .wrap{display:flex;align-items:flex-start;gap:.75rem;padding:.8rem 1.4rem}
.vizSav__ico{flex:none;width:19px;height:19px;stroke:#7fbeff;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin-top:.15rem}
#vizSavSzoveg{flex:1;font-size:.87rem;line-height:1.55;color:var(--text);white-space:pre-line}
#vizSavX{flex:none;width:28px;height:28px;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center}
#vizSavX:hover{background:rgba(127,190,255,.14);color:var(--text)}
#vizSavX svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}

/* ---------- időpont-választó a foglalásnál ---------- */
.idopont{display:grid;gap:1.1rem}
.idopont__blokk{display:grid;gap:.5rem}
.idopont__cim{font-family:var(--f-mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.idopont__gombok{display:flex;flex-wrap:wrap;gap:.45rem}
.inap,.isav{position:relative}
.inap input,.isav input{position:absolute;opacity:0;width:0;height:0}
.inap span,.isav span{
  display:flex;flex-direction:column;align-items:center;gap:.1rem;min-width:64px;
  padding:.5rem .75rem;border-radius:10px;border:1px solid var(--line);
  font-size:.85rem;cursor:pointer;transition:.18s;user-select:none;line-height:1.25;
}
.inap span i,.isav span i{font-style:normal;font-family:var(--f-mono);font-size:.64rem;color:var(--muted)}
.inap input:checked + span,.isav input:checked + span{border-color:var(--amber);background:var(--amber-soft)}
.inap input:checked + span i,.isav input:checked + span i{color:var(--amber)}
.inap input:focus-visible + span,.isav input:focus-visible + span{outline:2.5px solid var(--amber);outline-offset:2px}
.inap span:hover,.isav span:hover{border-color:var(--line-2)}
.idopont__sugo{font-size:.78rem;color:var(--muted);margin:.8rem 0 0}
.inap__pont{position:absolute;top:6px;right:8px;width:6px;height:6px;border-radius:50%;background:#e0a53d;font-style:normal}
.inap span{position:relative}
.isav__foglalt{
  font-style:normal;font-family:var(--f-mono);font-size:.58rem;letter-spacing:.04em;text-transform:uppercase;
  color:#e0a53d;background:rgba(224,165,61,.14);border-radius:999px;padding:.1rem .4rem;margin-top:.15rem;
}
