/* ===== Kontaktní formulář ===== */
:root{--bn-bg:#1c1f23}
.v2{--bn-bg:#033068}
.formbox{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(20px,4vw,48px);margin-top:20px;padding:clamp(22px,4vw,40px);border:1px solid var(--line);border-radius:var(--r);background:#ffffff0d}
.formbox h3{font-size:clamp(1.8rem,4vw,2.4rem);color:var(--accent);margin-bottom:.8rem}
.formbox .lead{color:var(--muted)}
form.cf{display:grid;grid-template-columns:1fr 1fr;gap:14px;position:relative}
.cf .full{grid-column:1/-1}
.cf label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.35rem}
.cf label span{color:var(--accent)}
.cf input[type=text],.cf input[type=email],.cf input[type=tel],.cf textarea{width:100%;font:inherit;color:#fff;background:#ffffff14;border:1px solid #ffffff33;border-radius:12px;padding:.8rem 1rem;transition:border-color .2s,background .2s}
.cf textarea{min-height:130px;resize:vertical}
.cf input:focus,.cf textarea:focus{outline:0;border-color:var(--accent);background:#ffffff1f;box-shadow:0 0 0 3px #fed23333}
.cf input:user-invalid,.cf textarea:user-invalid{border-color:#ff6b6b}
.cf .check{display:flex;gap:.7rem;align-items:flex-start;font-size:.85rem;font-weight:400;color:var(--muted)}
.cf .check input{width:20px;height:20px;margin-top:2px;accent-color:var(--accent);flex:none}
.cf .check span{color:inherit}
.cf .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cf button{cursor:pointer;font:inherit;font-weight:600}
.cf button[disabled]{opacity:.6;cursor:wait}
.cf-status{font-size:.95rem;border-radius:12px;padding:.8rem 1rem;display:none}
.cf-status.ok{display:block;background:#2ecc7126;border:1px solid #2ecc71}
.cf-status.err{display:block;background:#ff6b6b26;border:1px solid #ff6b6b}
@media(max-width:860px){.formbox{grid-template-columns:1fr}}
@media(max-width:560px){form.cf{grid-template-columns:1fr}}

/* ===== Popup banner ===== */
.bn{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:16px;background:#000a;opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
.bn.show{opacity:1;visibility:visible}
.bn-box{position:relative;width:min(520px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--bn-bg);color:#fff;border-radius:20px;border-top:6px solid var(--accent);padding:clamp(24px,5vw,36px);box-shadow:0 30px 80px #000a;transform:translateY(28px) scale(.97);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.bn.show .bn-box{transform:none}
.bn-close{position:absolute;top:10px;right:10px;width:40px;height:40px;border-radius:50%;border:0;background:#ffffff1a;color:#fff;font-size:1.4rem;line-height:1;cursor:pointer;transition:.2s}
.bn-close:hover{background:var(--accent);color:#141414}
.bn-head{font:800 clamp(1.8rem,5vw,2.3rem)/1 'Barlow Condensed',sans-serif;text-transform:uppercase;margin-bottom:1.2rem;padding-right:2rem}
.bn-item{display:flex;gap:1rem;padding:1rem 0;border-top:1px solid #ffffff22}
.bn-ico{flex:none;width:44px;height:44px;border-radius:12px;background:var(--accent);color:#141414;display:grid;place-items:center;font-size:1.3rem}
.bn-tag{font:600 .72rem Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.bn-item h3{font-size:1.4rem;margin:.15rem 0 .3rem}
.bn-item p{color:#d6dbe3;font-size:.95rem}
.bn-item a{display:inline-block;margin-top:.5rem;font-weight:600;color:var(--accent);border-bottom:1px solid currentColor}
.bn-foot{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:.6rem;flex-wrap:wrap}
.bn-foot .btn{cursor:pointer;font:inherit;font-weight:600}
.bn-skip{background:none;border:0;color:#aab3c0;font:inherit;font-size:.85rem;text-decoration:underline;cursor:pointer}
@media(prefers-reduced-motion:reduce){.bn,.bn-box{transition:none}}

/* ===== Časté dotazy, adresa, banner na mobilu ===== */
address{font-style:normal}
.faq{background:#fff}
.faq-list{margin-top:2rem;display:grid;gap:12px;max-width:820px}
.faq details{border:1px solid var(--line);border-radius:14px;background:var(--bg);transition:box-shadow .2s}
.faq details[open]{box-shadow:0 8px 24px #0a1f4014}
.faq summary{cursor:pointer;list-style:none;padding:1.1rem 3rem 1.1rem 1.3rem;font-weight:600;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:1.2rem;top:50%;transform:translateY(-50%);font-size:1.5rem;line-height:1;color:var(--blue,var(--accent));transition:transform .2s}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 1.3rem 1.2rem;color:var(--muted)}
@media(max-width:640px){
  /* banner jako spodní lišta, aby nezakrýval celý obsah (Google trestá rušivé interstitiály) */
  .bn{place-items:end center;padding:0;background:#0000;pointer-events:none}
  .bn-box{pointer-events:auto;border-radius:20px 20px 0 0;max-height:70vh;width:100%}
}

/* ===== Cookie lišta ===== */
.ck{position:fixed;left:16px;right:16px;bottom:16px;z-index:300;max-width:980px;margin:auto;background:#033068;color:#fff;border-radius:18px;border-top:4px solid var(--accent);box-shadow:0 20px 60px #0008;transform:translateY(130%);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.ck.show{transform:none}
.ck-in{display:flex;gap:1.2rem 2rem;align-items:center;padding:1.1rem 1.4rem;flex-wrap:wrap}
.ck-text{flex:1 1 420px;font-size:.9rem;color:#d6e2f5}
.ck-text strong{display:block;color:#fff;font:800 1.3rem/1 'Barlow Condensed',sans-serif;text-transform:uppercase;margin-bottom:.35rem}
.ck-text a{color:var(--accent);text-decoration:underline}
.ck-opts{display:grid;gap:.5rem;margin-top:.8rem}
.ck-opts[hidden]{display:none}
.ck-opt{display:flex;gap:.6rem;align-items:flex-start;font-size:.85rem}
.ck-opt input{width:18px;height:18px;margin-top:2px;accent-color:var(--accent);flex:none}
.ck-btns{display:flex;gap:.5rem;flex-wrap:wrap}
.ck-b{font:600 .95rem Inter,sans-serif;padding:.7rem 1.2rem;border-radius:999px;cursor:pointer;border:2px solid var(--accent);background:var(--accent);color:#033068}
.ck-none,.ck-save{background:transparent;color:#fff;border-color:#ffffffaa}
.ck-none:hover,.ck-save:hover{border-color:var(--accent);color:var(--accent)}
.ck-link{background:none;border-color:transparent;color:#d6e2f5;text-decoration:underline;padding-inline:.6rem}
.ck-b[hidden]{display:none}
.ck-b:focus-visible{outline:3px solid #fff;outline-offset:2px}
.foot-links{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
.foot-links a,.foot-links button{background:none;border:0;color:inherit;font:inherit;font-size:.85rem;cursor:pointer;text-decoration:underline;opacity:.8}
.foot-links a:hover,.foot-links button:hover{opacity:1;color:var(--accent)}
@media(max-width:640px){
  .ck{left:0;right:0;bottom:0;border-radius:18px 18px 0 0}
  .ck-btns{width:100%}
  .ck-all,.ck-none{flex:1}
}
@media(prefers-reduced-motion:reduce){.ck{transition:none}}

/* ===== Mapa až po kliknutí ===== */
.map-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;padding:1.5rem;text-align:center;color:#d6e2f5;
  background:radial-gradient(circle at 50% 40%,#0a3982 0,#033068 70%);background-color:#033068}
.map-ph::before{content:"";position:absolute;inset:0;opacity:.12;pointer-events:none;
  background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);background-size:44px 44px}
.map-ph>*{position:relative}
.map-ph svg{color:var(--accent)}
.map-addr{color:#fff}
.map-load{cursor:pointer;font:inherit;font-weight:600}
.map-note{font-size:.8rem;max-width:44ch;opacity:.85}
.map-note a,.map-links a{color:var(--accent);text-decoration:underline}
.map-links{font-size:.85rem}
