/* [ka_rozvrh_v2] — rozvrh so sezónnym prepínačom (6. 10. 2026). Mobile-first. */
.ka-r2{
  --ink:#1A0A2E; --ink2:#3B1A63; --gold:#F0C040; --gold2:#D4AF37;
  --now:#18A058; --nowbg:#E6F6EE; --nowink:#0F5A33;
  --new:#7B3FE4; --newbg:#EFE7FD; --newink:#3B1A63;
  --line:#E9E3F0; --muted:#6B6478; --soft:#F6F2FA;
  --r2-top:0px;
  max-width:1180px; margin:0 auto; padding:0 0 28px; color:#1A1A1A;
  font-family:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  scroll-margin-top:calc(var(--r2-top) + 8px);
}
.ka-r2 *{box-sizing:border-box}
.ka-r2 [hidden]{display:none !important}

/* hlavička */
.ka-r2-hero{background:linear-gradient(160deg,#1A0A2E 0%,#3B1A63 100%);color:#fff;padding:22px 16px 18px;border-radius:0 0 22px 22px}
.ka-r2-h1{font-family:"Playfair Display",Georgia,serif;font-size:30px;line-height:1.1;margin:0;color:#fff;font-weight:700}
.ka-r2-h1 em{color:var(--gold);font-style:italic}
.ka-r2-sub{margin:8px 0 0;font-size:14px;line-height:1.45;color:rgba(255,255,255,.82);max-width:640px}

/* mesto */
.ka-r2-city{display:flex;gap:6px;padding:14px 12px 2px}
.ka-r2-city a{flex:1;text-align:center;border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:9px 0;font-weight:600;font-size:14px;color:var(--ink);text-decoration:none !important;line-height:1.2}
.ka-r2-city a.on{color:#fff !important}
.ka-r2-city a.on{background:var(--ink);border-color:var(--ink);color:#fff}

/* lepkavý pruh: sezóna + dni */
.ka-r2-bar{position:sticky;top:var(--r2-top);z-index:40;background:#fff;padding:10px 12px;border-bottom:1px solid #EEE8F4;box-shadow:0 8px 14px -12px rgba(26,10,46,.45)}
.ka-r2-seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#F1ECF7;border-radius:14px;padding:4px}
.ka-r2-seg button{all:unset;cursor:pointer;border-radius:11px;padding:8px 6px;text-align:center;line-height:1.2;color:var(--ink);-webkit-tap-highlight-color:transparent}
.ka-r2-seg button b{display:block;font-size:14px;font-weight:700}
.ka-r2-seg button small{display:block;font-size:11.5px;color:var(--muted);margin-top:2px}
.ka-r2-seg button:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
.ka-r2[data-tab="nova"] .ka-r2-seg .is-nova{background:var(--ink);color:#fff}
.ka-r2[data-tab="nova"] .ka-r2-seg .is-nova small{color:var(--gold)}
.ka-r2[data-tab="bezi"] .ka-r2-seg .is-bezi{background:var(--now);color:#fff}
.ka-r2[data-tab="bezi"] .ka-r2-seg .is-bezi small{color:#E6FFF0}
.ka-r2[data-tab="bezi"] .ka-r2-seg .is-bezi .ka-r2-dot{background:#fff}
.ka-r2-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--now);margin-right:6px;vertical-align:1px;animation:kaR2pulse 1.6s infinite}
@keyframes kaR2pulse{50%{opacity:.3}}
@media (prefers-reduced-motion:reduce){.ka-r2-dot{animation:none}}

.ka-r2-days{display:flex;gap:6px;margin-top:9px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.ka-r2-days::-webkit-scrollbar{display:none}
.ka-r2-days:empty{display:none}
.ka-r2-days button{all:unset;cursor:pointer;flex:none;border:1.5px solid var(--line);border-radius:10px;padding:5px 11px;font-weight:600;font-size:13px;color:var(--ink);white-space:nowrap}
.ka-r2-days button em{font-style:normal;color:#9A90AA;font-weight:500;margin-left:4px}
.ka-r2-days button.on{background:var(--gold);border-color:var(--gold)}
.ka-r2-days button.on em{color:var(--ink)}

/* pás sezóny */
.ka-r2-band{margin:14px 12px 6px;border-radius:14px;padding:12px 14px;font-size:14px;line-height:1.45}
.ka-r2-band b{display:block;font-size:15px;margin-bottom:2px}
.ka-r2-band a{color:inherit;font-weight:700}
.ka-r2-band.is-nova{background:var(--newbg);color:var(--newink)}
.ka-r2-band.is-bezi{background:var(--nowbg);color:var(--nowink)}
.ka-r2-ukazka{display:inline-block;margin-top:8px;background:#fff;border-radius:999px;padding:6px 12px;text-decoration:none;font-size:13.5px;box-shadow:0 1px 0 rgba(26,10,46,.08)}

/* dni + karty */
.ka-r2-week{padding:0 12px}
.ka-r2-dayh{display:flex;align-items:center;gap:10px;margin:16px 0 8px;font-weight:700;font-size:13px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink);scroll-margin-top:calc(var(--r2-top) + 150px)}
.ka-r2-dayh::after{content:"";flex:1;height:1px;background:var(--line)}
.ka-r2-cards{display:grid;gap:10px}

.ka-r2-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 14px 12px 16px}
.ka-r2-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--new)}
.ka-r2-card.is-bezi::before{background:var(--now)}
.ka-r2-card .r1{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ka-r2-card .time{font-weight:700;font-size:16px;color:var(--ink)}
.ka-r2-card .lvl{font-weight:700;font-size:11px;border-radius:6px;padding:2px 7px;background:#F3EFF8;color:#5B4A73}
.ka-r2-card .lvl.z1{background:#E4F6EC;color:#147A45}
.ka-r2-card .fresh{font-weight:700;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;background:#FFF4D6;color:#8A6200;border-radius:6px;padding:2px 7px}
.ka-r2-card .tag{margin-left:auto;font-weight:700;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;border-radius:6px;padding:3px 7px;background:var(--newbg);color:#5A2BB5}
.ka-r2-card.is-bezi .tag{background:var(--nowbg);color:#147A45}
.ka-r2-card .name{margin:6px 0 1px;font-family:"Playfair Display",Georgia,serif;font-size:18px;line-height:1.25;color:var(--ink);font-weight:700}
.ka-r2-card .who{font-size:13px;color:var(--muted)}
.ka-r2-card .who .dur{white-space:nowrap}
.ka-r2-card .who .dur::before{content:"· "}
.ka-r2-card .start{margin-top:8px;font-size:13.5px;color:#3a3346}
.ka-r2-card .start b{color:var(--ink)}
.ka-r2-card .dates{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
.ka-r2-card .dates i{font-style:normal;font-size:12px;border-radius:6px;padding:2px 6px;background:#F3EFF8;color:#5B4A73}
.ka-r2-card .dates i.past{background:#fff;color:#BDB4CA;text-decoration:line-through;border:1px dashed var(--line)}
.ka-r2-card .dates i.next{background:var(--now);color:#fff;font-weight:700}
.ka-r2-card .row{display:flex;align-items:center;gap:10px;margin-top:10px}
.ka-r2-card .price{font-weight:700;font-size:19px;color:var(--ink);line-height:1.1}
.ka-r2-card .price small{display:block;font-weight:500;font-size:11.5px;color:var(--muted);margin-top:2px}
.ka-r2 .btn{margin-left:auto;display:inline-block;background:linear-gradient(135deg,#F0C040,#D4AF37);color:var(--ink) !important;border-radius:11px;padding:10px 16px;font-weight:700;font-size:14px;text-decoration:none !important;white-space:nowrap;line-height:1.2;border:1.5px solid transparent}
.ka-r2 .btn.ghost{background:#fff;border-color:var(--ink)}
.ka-r2 .btn:hover{filter:brightness(1.05)}
.ka-r2-card .one{display:inline-block;margin-top:8px;font-size:12.5px;color:var(--muted);text-decoration:underline}
.ka-r2-card .lnk{display:block;margin-top:6px;font-size:13px;font-weight:600;color:#5A2BB5;text-decoration:none}
.ka-r2-card .cont{margin-top:10px;background:var(--soft);border-radius:10px;padding:8px 10px;font-size:13px;color:var(--newink);line-height:1.4}
.ka-r2-card .cont b{color:var(--ink)}
.ka-r2-card .cont a{color:#5A2BB5;font-weight:700;white-space:nowrap}
.ka-r2-empty{margin:16px 12px;color:var(--muted)}

/* bundle */
.ka-r2-bundle{margin:22px 12px 0;border-radius:16px;background:linear-gradient(135deg,#1A0A2E,#3B1A63);color:#fff;padding:14px 16px;display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline;font-size:14px}
.ka-r2-bundle b{width:100%;color:var(--gold);font-size:15px}
.ka-r2-bundle strong{color:var(--gold)}
.ka-r2-bundle small{width:100%;color:rgba(255,255,255,.72);font-size:12.5px}

/* zhrnutie pred košíkom (bottom sheet) */
.ka-r2-sheet{position:fixed;inset:0;z-index:100000}
.ka-r2-dim{position:absolute;inset:0;background:rgba(14,6,24,.55)}
.ka-r2-panel{position:absolute;left:0;right:0;bottom:0;max-height:92vh;overflow:auto;background:#fff;border-radius:22px 22px 0 0;padding:10px 18px calc(18px + env(safe-area-inset-bottom));animation:kaR2up .22s ease-out}
@keyframes kaR2up{from{transform:translateY(40px);opacity:0}}
.ka-r2-panel .grab{width:42px;height:4px;border-radius:4px;background:#DDD5E8;margin:0 auto 12px}
.ka-r2-panel h3{margin:0;font-family:"Playfair Display",Georgia,serif;font-size:21px;color:var(--ink)}
.ka-r2-panel .pill{display:flex;align-items:center;gap:12px;border-radius:12px;padding:10px 12px;margin-top:10px;background:var(--newbg);color:var(--newink)}
.ka-r2-panel .pill.is-bezi{background:var(--nowbg);color:var(--nowink)}
.ka-r2-panel .pill .big{font-family:"Playfair Display",Georgia,serif;font-size:30px;font-weight:700;line-height:1;color:#5A2BB5}
.ka-r2-panel .pill.is-bezi .big{color:#147A45}
.ka-r2-panel .pill p{margin:0;font-size:13.5px;line-height:1.35}
.ka-r2-panel .sum{margin:12px 0;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.ka-r2-panel .sum div{display:flex;justify-content:space-between;gap:12px;padding:9px 12px;font-size:14px;border-top:1px solid #F1ECF7}
.ka-r2-panel .sum div:first-child{border-top:0}
.ka-r2-panel .sum dt{color:var(--muted);margin:0}
.ka-r2-panel .sum dd{margin:0;font-weight:700;color:var(--ink);text-align:right}
.ka-r2-panel .btn.ok{display:block;margin:12px 0 0;text-align:center;padding:14px}
.ka-r2-panel .alt{display:block;text-align:center;margin-top:12px;font-size:14px;font-weight:600;color:#5A2BB5}

/* počítač: dni vedľa seba, sheet ako okno v strede */
@media (min-width:900px){
  .ka-r2-hero{border-radius:22px;margin:24px 16px 0;padding:30px 32px 26px}
  .ka-r2-h1{font-size:42px}
  .ka-r2-sub{font-size:16px}
  .ka-r2-city{max-width:520px;margin:0 auto;padding-top:20px}
  .ka-r2-bar{padding:12px 16px;border-radius:0 0 16px 16px}
  .ka-r2-seg{max-width:640px;margin:0 auto}
  .ka-r2-days{justify-content:center}
  .ka-r2-band{margin:18px 16px 8px;text-align:center}
  .ka-r2-week{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px;padding:0 16px;align-items:start}
  .ka-r2-dayh{margin-top:14px}
  .ka-r2-bundle{margin:28px 16px 0;justify-content:center;text-align:center}
  .ka-r2-panel{left:50%;right:auto;bottom:auto;top:50%;width:min(520px,94vw);transform:translate(-50%,-50%);border-radius:22px;animation:none}
  .ka-r2-panel .grab{display:none}
}
