/* =====================================================================
   OL Estate — provozní doplňky (načítá se na všech stránkách po variantě)
   - stavy formulářů: odesílání, chyba, zvýraznění chybného pole
   - skrytá past na roboty (_gotcha) ve formulářích
   - lišta cookies: „Uložit volbu“ a skrytí přepínačů, když je nastavení zavřené
   - „Nastavení cookies“ v patičce (tlačítko vzhledem jako odkaz)
   - chybová stránka 404
   Barvy přes tokeny ze zaklad.css / variant; jediná nová barva je tlumená červená pro chybu.
   ===================================================================== */
:root{--err:#F2A08C;--err-line:rgba(242,160,140,.5);--err-bg:rgba(242,160,140,.07)}

/* ---------- formuláře: odesílání ---------- */
.form.is-sending{cursor:progress}
.form [type="submit"][disabled]{cursor:progress;filter:saturate(.75) brightness(.9);transform:none}
.form.is-sending [type="submit"] .ico{animation:ole-odesilani 1.1s var(--ease) infinite}
@keyframes ole-odesilani{0%,100%{transform:translateX(0);opacity:1}50%{transform:translateX(6px);opacity:.3}}

/* ---------- formuláře: chyba (role="alert", vkládá app.js) ---------- */
.form-err{display:none;align-items:flex-start;gap:14px;margin-top:20px;padding:16px 18px;border:var(--lw) solid var(--err-line);background:var(--err-bg);font-size:15.5px;line-height:1.6;color:var(--ink)}
.is-error .form-err{display:flex}
.form-err-ic{position:relative;flex:none;width:22px;height:22px;margin-top:2px;display:grid;place-items:center;font-family:var(--display);font-size:14px;line-height:1;color:var(--err)}
.form-err-ic::before{content:"";position:absolute;inset:3px;border:var(--lw) solid var(--err);transform:rotate(45deg)}
.form-err b{font-weight:600;color:var(--ink)}
.form-err a{color:var(--g2);text-decoration:underline;text-decoration-thickness:var(--lw);text-underline-offset:4px;transition:color .3s;overflow-wrap:anywhere}
.form-err a:hover{color:var(--ink)}
.form .field [aria-invalid="true"]{border-bottom-color:var(--err)}

/* ---------- past na roboty: pole _gotcha mimo zobrazení i čtečky ---------- */
.f-hp{position:absolute!important;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;padding:0}

/* ---------- lišta cookies ---------- */
.cookie [data-cookie="ulozit"]{display:none}
.cookie.open [data-cookie="ulozit"]{display:inline-flex;order:-1;flex:1 1 100%}
.cookie.open [data-cookie="nastaveni"]{display:none}
/* zavřené nastavení: přepínače nejsou dosažitelné klávesnicí (viditelnost se přepne až po animaci) */
.cookie-set > div{visibility:hidden;transition:visibility 0s linear .5s;padding-inline:6px;margin-inline:-6px} /* místo pro obrys fokusu přepínače */
.cookie.open .cookie-set > div{visibility:visible;transition-delay:0s}

/* „Nastavení cookies“ v patičce je tlačítko (akce), vypadá jako sousední odkaz */
.f-bottom button[data-cookie-open]{padding:0;border:0;background:none;font:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;transition:color .3s}
.f-bottom button[data-cookie-open]:hover{color:var(--g2)}

/* ---------- chybová stránka 404 ---------- */
.e404-ctas{margin-top:28px}
.e404-cesty .pil{min-height:0;padding:58px 22px 28px}
.e404-cesty .pil h3{min-height:2.24em}
.e404-pozn{margin-top:46px;text-align:center;font-size:15.5px;color:var(--muted)}
.e404-pozn a{color:var(--g2);text-decoration:underline;text-decoration-thickness:var(--lw);text-underline-offset:4px;white-space:nowrap;transition:color .3s}
.e404-pozn a:hover{color:var(--ink)}
@media (max-width:760px){
  .e404-ctas .btn{flex:1 1 auto}
  .e404-cesty .pil{padding:52px 22px 26px}
  .e404-cesty .pil h3{min-height:0}
}

@media (prefers-reduced-motion:reduce){
  .form.is-sending [type="submit"] .ico{animation:none;opacity:.5}
}
