.tk-form{--tk-z:var(--zelena,#1f4d2e);--tk-y:var(--zluta,#f2c23e);--tk-bg:var(--papir,#fffdf6);--tk-ln:var(--linka,#e6dcc0);max-width:760px;margin:0 auto}
.tk-form *{box-sizing:border-box}
.tk-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.tk-krok{border:0;padding:0;margin:0 0 32px;min-width:0}
.tk-krok legend{display:flex;align-items:center;gap:12px;font-family:var(--font-nadpis,inherit);font-size:1.35rem;font-weight:800;color:var(--tk-z);text-transform:uppercase;letter-spacing:.02em;margin-bottom:16px;padding:0}
.tk-cislo{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--tk-y);font-size:1.05rem}

.tk-turnusy{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.tk-turnus{position:relative;display:flex;flex-direction:column;gap:4px;padding:20px;border-radius:20px;cursor:pointer;color:#fff;border:3px solid transparent;transition:transform .15s,box-shadow .15s;overflow:hidden}
.tk-turnus input{position:absolute;opacity:0;pointer-events:none}
.tk-turnus--svet{background:linear-gradient(150deg,#2f7fb8,#1d4f86)}
.tk-turnus--les{background:linear-gradient(150deg,#4d8a3a,#1f4d2e)}
.tk-turnus--vesmir{background:linear-gradient(150deg,#4a2a86,#1c1440)}
.tk-turnus:hover{transform:translateY(-2px)}
.tk-turnus:has(input:checked){border-color:var(--tk-y);box-shadow:0 10px 28px rgba(31,77,46,.25)}
.tk-turnus:has(input:checked)::after{content:"✓";position:absolute;top:14px;right:14px;width:30px;height:30px;border-radius:50%;background:var(--tk-y);color:var(--tk-z);display:grid;place-items:center;font-weight:900}
.tk-turnus:has(input:focus-visible){outline:3px solid var(--tk-y);outline-offset:3px}
.tk-turnus.je-zavreno,.tk-turnus.je-mimo-vek{opacity:.55;cursor:not-allowed}
.tk-turnus__info{display:flex;flex-direction:column;gap:4px;min-width:0}
.tk-turnus.ma-obrazek{flex-direction:row;gap:0;padding:0;background:var(--tk-bg);color:#23402b;border-color:var(--tk-ln)}
.tk-turnus.ma-obrazek .tk-turnus__obr{flex:0 0 40%;width:40%;height:auto;aspect-ratio:5/8;object-fit:cover;object-position:center top;align-self:stretch}
.tk-turnus.ma-obrazek .tk-turnus__info{padding:16px 40px 16px 16px;justify-content:center}
.tk-turnus.ma-obrazek .tk-turnus__tema{color:var(--tk-z);font-size:1.35rem}
.tk-turnus.ma-obrazek .tk-turnus__volno,.tk-turnus.ma-obrazek .tk-turnus__vek{background:#f1e6cc}
.tk-turnus.ma-obrazek .tk-turnus__vek{background:#fde3dd;border-radius:12px}
.tk-turnus.ma-obrazek:has(input:checked){border-color:var(--tk-y);background:#fff8dc}
.tk-turnus__nazev{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.85}
.tk-turnus__tema{font-family:var(--font-nadpis,inherit);font-size:1.6rem;line-height:1.1;font-weight:800}
.tk-turnus__termin{font-weight:700;margin-top:6px}
.tk-turnus__cena{opacity:.9}
.tk-turnus__volno,.tk-turnus__vek{align-self:flex-start;margin-top:10px;padding:4px 12px;border-radius:999px;background:rgba(255,255,255,.18);font-size:.85rem;font-weight:700}
.tk-turnus__volno.je-malo{background:var(--tk-y);color:var(--tk-z)}
.tk-turnus__volno.je-plno{background:#fff;color:#8a2a1c}
.tk-turnus__vek{background:#fff;color:#8a2a1c}

.tk-vylet{display:flex;gap:14px;align-items:flex-start;margin-top:16px;padding:16px 18px;border-radius:18px;background:#e3f3fb;border:2px solid #9fd0ea;cursor:pointer}
.tk-vylety[hidden],.tk-celkem[hidden]{display:none}
.tk-vylet:has(input:checked){background:#d2ecf9;border-color:#2f86c9}
.tk-vylet input{flex:0 0 26px;width:26px;height:26px;margin:2px 0 0;accent-color:#1d6fa8}
.tk-vylet strong{display:block;color:#123f5e;line-height:1.35}
.tk-vylet em{font-style:normal;background:var(--tk-y);color:var(--tk-z);padding:2px 10px;border-radius:999px;white-space:nowrap;font-size:.92em}
.tk-vylet small{display:block;margin-top:4px;color:#3d5a6b;font-size:.9rem;line-height:1.45}
.tk-celkem{margin:14px 4px 0;font-size:1.05rem;color:var(--tk-z)}
.tk-celkem strong{font-family:var(--font-nadpis,inherit);font-size:1.5rem;margin-left:6px}

.tk-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tk-pole{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:.92rem;color:var(--tk-z);min-width:0}
.tk-pole--cele{grid-column:1/-1}
.tk-pole input,.tk-pole select,.tk-pole textarea{font:inherit;font-weight:500;font-size:1rem;color:#23402b;background:var(--tk-bg);border:2px solid var(--tk-ln);border-radius:14px;padding:13px 14px;width:100%;min-height:50px;appearance:none;-webkit-appearance:none}
.tk-pole select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' fill='none' stroke='%231f4d2e' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='m1.5 1.5 5.5 5.5 5.5-5.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:42px}
.tk-pole input:focus,.tk-pole select:focus,.tk-pole textarea:focus{outline:0;border-color:var(--tk-z);box-shadow:0 0 0 4px rgba(242,194,62,.45)}
.tk-pole small{font-weight:500;color:#6b7a63}
.tk-pole.je-chyba input,.tk-pole.je-chyba select{border-color:#c0392b}
.tk-chyba,.tk-vek-info.je-chyba{color:#a93226!important;font-weight:700!important;font-size:.88rem}
.tk-vek-info.je-ok{color:#2c7a3f!important;font-weight:700!important}

.tk-check{display:flex;gap:12px;align-items:flex-start;margin-top:14px;font-size:.95rem;line-height:1.45;cursor:pointer}
.tk-check input{flex:0 0 24px;width:24px;height:24px;margin:0;accent-color:var(--tk-z)}
.tk-check em{color:#6b7a63}
.tk-check.je-chyba span{color:#a93226;font-weight:700}

.tk-akce{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.tk-btn{font:inherit;font-weight:800;font-size:1.05rem;background:var(--tk-y);color:var(--tk-z);border:0;border-radius:14px;padding:16px 30px;min-height:56px;cursor:pointer;box-shadow:0 4px 0 #d8a526;transition:transform .1s,box-shadow .1s}
.tk-btn:hover{transform:translateY(-1px)}
.tk-btn:active{transform:translateY(3px);box-shadow:0 1px 0 #d8a526}
.tk-btn[disabled]{opacity:.6;cursor:wait}
.tk-pozn{margin:0;color:#6b7a63;font-size:.9rem;flex:1 1 220px}

.tk-vysledek{margin-top:24px;padding:24px;border-radius:20px;background:#e7f2dc;border:2px solid #9cc07a}
.tk-vysledek.je-chyba{background:#fdecea;border-color:#e0a39b}
.tk-vysledek.je-nahradnik{background:#fff4d1;border-color:#e6c65a}
.tk-vysledek h3{margin:0 0 8px;font-family:var(--font-nadpis,inherit);font-size:1.4rem;color:var(--tk-z)}
.tk-vysledek p{margin:0 0 14px}
.tk-vysledek button{font:inherit;font-weight:700;background:#fff;color:var(--tk-z);border:2px solid var(--tk-z);border-radius:12px;padding:10px 18px;cursor:pointer}
.tk-form.je-hotovo>.tk-krok,.tk-form.je-hotovo>.tk-akce{display:none}

@media (max-width:600px){.tk-grid{grid-template-columns:1fr}.tk-btn{width:100%}}

/* Totéž přes třídu z form.js pro prohlížeče bez :has (samostatná pravidla, jinak by je starý prohlížeč zahodil celé). */
.tk-turnus.je-vybrano{border-color:var(--tk-y);box-shadow:0 10px 28px rgba(31,77,46,.25)}
.tk-turnus.je-vybrano::after{content:"✓";position:absolute;top:14px;right:14px;width:30px;height:30px;border-radius:50%;background:var(--tk-y);color:var(--tk-z);display:grid;place-items:center;font-weight:900}
.tk-turnus.ma-obrazek.je-vybrano{border-color:var(--tk-y);background:#fff8dc}
.tk-vylet.je-vybrano{background:#d2ecf9;border-color:#2f86c9}
.tk-turnus__dni{font-size:.95rem}
.tk-upozorneni{margin:0 0 16px;padding:12px 16px;border-radius:14px;background:#fff6d6;border:1px solid #f2c23e;font-size:.95rem;line-height:1.5}
.tk-upozorneni a{font-weight:700;white-space:nowrap}
.tk-form.je-hotovo .tk-upozorneni{display:none}
