/* ════════════════════════════════════════════════════════════
   REZERVÁCIA – Hotel Dominika
   Nadväzuje na premenné webu (--orange, --g*, --fd, --fb)
   ════════════════════════════════════════════════════════════ */
body.bk-page{background:var(--g50)}
.bk{padding:7.5rem 2rem 5rem;min-height:70vh}
.bk-in{max-width:1200px;margin:0 auto}

/* hlavička + kroky */
.bk-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;padding-bottom:1.6rem;border-bottom:1px solid var(--g200);margin-bottom:2.2rem}
.bk-title{font-family:var(--fd);font-size:clamp(2rem,3.6vw,2.8rem);font-weight:400;line-height:1.1;color:var(--g900)}
.bk-title em{font-style:italic;color:var(--orange)}
.bk-steps{display:flex;align-items:center;gap:0;list-style:none;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--g400)}
.bk-steps li{display:flex;align-items:center;gap:.55rem;white-space:nowrap}
.bk-steps li+li::before{content:'';width:34px;height:1px;background:var(--g300);margin:0 .9rem}
.bk-steps .n{width:22px;height:22px;border:1px solid currentColor;display:inline-flex;align-items:center;justify-content:center;font-size:.66rem;letter-spacing:0}
.bk-steps li.on{color:var(--g900)}
.bk-steps li.on .n{background:var(--orange);border-color:var(--orange);color:#fff}
.bk-steps li.done{color:var(--g600)}
.bk-steps li.done .n{border-color:var(--orange);color:var(--orange)}

.bk-view{display:none}
.bk-view.on{display:block;animation:bkIn .35s ease}
@keyframes bkIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ── KROK 1: kalendár ─────────────────────────────── */
.bk-s1{display:grid;grid-template-columns:1fr 320px;gap:0;background:#fff;border:1px solid var(--g200)}
.bk-cal{padding:2rem 2rem 1.5rem;min-width:0;position:relative}
.bk-cal-nav{position:absolute;left:2rem;right:2rem;top:1.75rem;display:flex;align-items:center;justify-content:space-between;pointer-events:none;z-index:1}
.bk-cal-nav button{pointer-events:auto}
.bk-cal-nav button{width:40px;height:40px;border:1px solid var(--g200);background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--g800);transition:border-color .2s,color .2s}
.bk-cal-nav button:hover:not(:disabled){border-color:var(--orange);color:var(--orange)}
.bk-cal-nav button:disabled{opacity:.3;cursor:default}
.bk-cal-nav svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}
.bk-months{display:grid;grid-template-columns:1fr 1fr;gap:2.2rem}
.bk-month h3{font-family:var(--fd);font-size:1.45rem;font-weight:500;text-align:center;color:var(--g900);margin-bottom:1rem;line-height:40px;text-transform:capitalize}
.bk-grid{display:grid;grid-template-columns:repeat(7,1fr);border-left:1px solid var(--g100);border-top:1px solid var(--g100)}
.bk-dow{font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--g500);text-align:center;padding:.5rem 0;border-right:1px solid var(--g100);border-bottom:1px solid var(--g200);background:var(--g50)}
.bk-day{position:relative;height:62px;border-right:1px solid var(--g100);border-bottom:1px solid var(--g100);background:#fff;padding:.45rem .2rem .3rem;text-align:center;cursor:pointer;transition:background .15s;font-family:var(--fb);user-select:none;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.15rem;border-top:none;border-left:none}
.bk-day .d{font-size:.9rem;font-weight:700;color:var(--g900);line-height:1.2}
.bk-day .p{font-size:.68rem;font-weight:500;color:var(--g600);line-height:1.2;white-space:nowrap}
.bk-day .lbl{font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;line-height:1}
.bk-day.empty{background:var(--g50);cursor:default}
.bk-day.past,.bk-day.off{background:var(--g50);cursor:default}
.bk-day.past .d,.bk-day.off .d{color:var(--g300);font-weight:500}
.bk-day.full{background:repeating-linear-gradient(135deg,var(--g50) 0 5px,#fff 5px 10px);cursor:default}
.bk-day.full .d{color:var(--g400)}
.bk-day.full .p{color:var(--g400)}
.bk-day.full.pick-dep{cursor:pointer}
.bk-day.last::after{content:'';position:absolute;top:7px;right:7px;width:6px;height:6px;border-radius:50%;background:var(--orange)}
.bk-day:not(.past):not(.off):not(.empty):not(.full):hover{background:#FBF1E8}
.bk-day.in{background:#F7E3D1}
.bk-day.in .p{color:var(--od)}
.bk-day.sel{background:var(--orange)!important}
.bk-day.sel .d,.bk-day.sel .p,.bk-day.sel .lbl{color:#fff}
.bk-day.sel::after{background:#fff}
.bk-day.today .d{text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:3px}
.bk-legend{display:flex;flex-wrap:wrap;gap:1.4rem;margin-top:1.3rem;font-size:.74rem;color:var(--g600)}
.bk-legend span{display:inline-flex;align-items:center;gap:.5rem}
.bk-legend i{display:inline-block}
.bk-legend .l-dot{width:7px;height:7px;border-radius:50%;background:var(--orange)}
.bk-legend .l-full{width:16px;height:12px;border:1px solid var(--g200);background:repeating-linear-gradient(135deg,var(--g100) 0 3px,#fff 3px 6px)}
.bk-legend .l-sel{width:16px;height:12px;background:var(--orange)}
.bk-cal-note{font-size:.74rem;color:var(--g500);margin-top:.6rem}

/* panel vpravo */
.bk-side{background:var(--g50);border-left:1px solid var(--g200);padding:2rem 1.7rem;display:flex;flex-direction:column;gap:1.25rem}
.bk-lab{font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--g600);margin-bottom:.45rem;display:block}
.bk-dates{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--g200);background:#fff}
.bk-date{padding:.75rem .9rem;cursor:pointer;border:none;background:none;text-align:left;font-family:inherit}
.bk-date+.bk-date{border-left:1px solid var(--g200)}
.bk-date .v{display:block;font-size:.92rem;font-weight:600;color:var(--g900);min-height:1.4em}
.bk-date .v.ph{color:var(--g400);font-weight:500}
.bk-date.act{box-shadow:inset 0 -2px 0 var(--orange)}
.bk-nights{font-size:.76rem;color:var(--g500);margin-top:.45rem}
.bk-cnt{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--g200);padding:.45rem .5rem .45rem .9rem}
.bk-cnt .t{font-size:.9rem;font-weight:600;color:var(--g900)}
.bk-cnt .t small{display:block;font-size:.7rem;font-weight:500;color:var(--g500)}
.bk-cnt .c{display:flex;align-items:center;gap:.2rem}
.bk-cnt button{width:34px;height:34px;border:1px solid var(--g200);background:#fff;font-size:1.05rem;line-height:1;cursor:pointer;color:var(--g800);transition:border-color .2s,color .2s}
.bk-cnt button:hover:not(:disabled){border-color:var(--orange);color:var(--orange)}
.bk-cnt button:disabled{opacity:.3;cursor:default}
.bk-cnt output{width:30px;text-align:center;font-weight:700;font-size:.95rem}
.bk-cnt+.bk-cnt{border-top:none}
.bk-ages{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.6rem}
.bk-ages:empty{display:none}
.bk-sel,.bk-inp{width:100%;font-family:var(--fb);font-size:.88rem;padding:.65rem .75rem;border:1px solid var(--g200);background:#fff;color:var(--g900);border-radius:0;appearance:none;-webkit-appearance:none}
.bk-sel{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23717171' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;background-size:14px;padding-right:2rem}
.bk-sel:focus,.bk-inp:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(212,120,47,.12)}
.bk-sel.err,.bk-inp.err{border-color:#B3261E}
.bk-hint{font-size:.72rem;color:var(--g500);line-height:1.6;margin-top:.45rem}
.bk-promo{text-transform:uppercase;letter-spacing:.08em}
.bk-promo-st{font-size:.74rem;margin-top:.4rem}
.bk-promo-st.ok{color:#2E7D32}.bk-promo-st.no{color:#B3261E}
.bk-side .btn{width:100%;justify-content:center;margin-top:auto}
.btn[disabled]{opacity:.45;pointer-events:none}
.bk-err{font-size:.8rem;color:#B3261E;min-height:0}

/* ── KROK 2: izby ─────────────────────────────────── */
.bk-bar{display:flex;align-items:center;flex-wrap:wrap;gap:0;background:#fff;border:1px solid var(--g200);margin-bottom:1.8rem}
.bk-bar>div{display:flex;align-items:center;gap:.6rem;padding:1rem 1.4rem;font-size:.9rem;font-weight:600;color:var(--g900)}
.bk-bar>div+div{border-left:1px solid var(--g200)}
.bk-bar svg{width:17px;height:17px;fill:none;stroke:var(--g600);stroke-width:1.6;flex-shrink:0}
.bk-bar .sp{flex:1;border:none!important;padding:0}
.bk-bar button{margin:.5rem;padding:.7rem 1.3rem;font-size:.72rem}
.bk-h2{font-family:var(--fd);font-size:1.9rem;font-weight:400;color:var(--g900);margin-bottom:1.2rem}
.bk-h2 small{font-family:var(--fb);font-size:.8rem;color:var(--g500);font-weight:500;margin-left:.6rem}
.bk-alert{background:#fff;border:1px solid var(--g200);border-left:3px solid var(--orange);padding:1.1rem 1.4rem;margin-bottom:1.6rem;font-size:.88rem;color:var(--g700)}
.bk-alert strong{display:block;font-family:var(--fd);font-size:1.25rem;font-weight:500;color:var(--g900);margin-bottom:.15rem}

.bk-room{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);background:#fff;border:1px solid var(--g200);margin-bottom:1.4rem;transition:box-shadow .3s}
.bk-room.hl{box-shadow:0 0 0 2px var(--orange)}
.bk-room.na{opacity:.6}
.bk-ph{position:relative;background:var(--g100);min-height:260px;overflow:hidden}
.bk-ph img{color:transparent;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .35s}
.bk-ph button{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;background:rgba(255,255,255,.92);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .25s}
.bk-ph:hover button,.bk-ph:focus-within button{opacity:1}
.bk-ph button.pv{left:.8rem}.bk-ph button.nx{right:.8rem}
.bk-ph button svg{width:15px;height:15px;fill:none;stroke:var(--g900);stroke-width:2}
.bk-ph .cnt{position:absolute;left:.8rem;bottom:.8rem;background:rgba(17,17,17,.7);color:#fff;font-size:.7rem;font-weight:700;padding:.2rem .5rem;letter-spacing:.05em}
.bk-rinfo{padding:1.7rem 1.9rem 1.4rem;display:flex;flex-direction:column}
.bk-rinfo h3{font-family:var(--fd);font-size:1.75rem;font-weight:500;color:var(--g900);line-height:1.15}
.bk-meta{display:flex;flex-wrap:wrap;gap:.4rem 1.3rem;margin:.55rem 0 .8rem;font-size:.8rem;color:var(--g700);font-weight:500}
.bk-meta span{display:inline-flex;align-items:center;gap:.4rem}
.bk-meta svg{width:15px;height:15px;fill:none;stroke:var(--orange);stroke-width:1.7}
.bk-rinfo p{font-size:.86rem;color:var(--g600);line-height:1.75}
.bk-left{font-size:.74rem;font-weight:700;color:var(--od);letter-spacing:.04em;margin-top:.6rem}

.bk-rate{grid-column:1/-1;border-top:1px solid var(--g100);background:#FCFCFB;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:1.5rem;align-items:center;padding:1.2rem 1.9rem}
.bk-bf-t{font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--g600);margin-bottom:.55rem}
.bk-bf-t span{letter-spacing:0;text-transform:none;font-weight:500;color:var(--g500);margin-left:.3rem}
.bk-bf{display:flex;flex-wrap:wrap;gap:.4rem}
.bk-chip{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--g200);background:#fff;padding:.45rem .75rem;font-size:.78rem;font-weight:600;color:var(--g700);cursor:pointer;font-family:inherit;transition:border-color .2s,background .2s,color .2s}
.bk-chip i{width:14px;height:14px;border:1.5px solid var(--g300);display:inline-flex;align-items:center;justify-content:center;transition:all .2s}
.bk-chip[aria-pressed=true]{border-color:var(--orange);background:#FDF5EE;color:var(--g900)}
.bk-chip[aria-pressed=true] i{background:var(--orange);border-color:var(--orange)}
.bk-chip[aria-pressed=true] i::after{content:'';width:6px;height:3px;border-left:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:rotate(-45deg) translate(1px,-1px)}
.bk-chip small{font-weight:500;color:var(--g500)}
.bk-chip.free{cursor:default}
.bk-bf-all{background:none;border:none;font-family:inherit;font-size:.74rem;font-weight:600;color:var(--od);cursor:pointer;padding:.45rem .2rem;text-decoration:underline;text-underline-offset:3px}
.bk-price{text-align:right;white-space:nowrap}
.bk-price s{display:block;font-size:.82rem;color:var(--g400)}
.bk-price b{display:block;font-family:var(--fd);font-size:1.9rem;font-weight:600;color:var(--g900);line-height:1.1}
.bk-price small{font-size:.74rem;color:var(--g500)}
.bk-price.ld b{opacity:.35}
.bk-na{grid-column:1/-1;border-top:1px solid var(--g100);padding:1rem 1.9rem;font-size:.82rem;color:var(--g500);font-weight:600}

.bk-alt{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,300px));gap:1rem;margin-top:1rem}
.bk-alt>div{background:#fff;border:1px solid var(--g200);padding:1.3rem}
.bk-alt .tag{display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--od);background:#FDF1E6;padding:.3rem .6rem;margin-bottom:.8rem}
.bk-alt .dt{font-size:.95rem;font-weight:600;color:var(--g900)}
.bk-alt .pr{font-size:.82rem;color:var(--g600);margin:.35rem 0 1rem}
.bk-alt .btn{width:100%;justify-content:center;padding:.8rem 1rem}

/* ── KROK 3: údaje ────────────────────────────────── */
.bk-s3{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:1.8rem;align-items:start}
.bk-form{background:#fff;border:1px solid var(--g200);padding:2rem}
.bk-form h2{font-family:var(--fd);font-size:1.7rem;font-weight:400;margin-bottom:1.4rem}
.bk-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.bk-f{display:flex;flex-direction:column}
.bk-f.full{grid-column:1/-1}
.bk-f textarea{min-height:96px;resize:vertical;line-height:1.6}
.bk-check{display:flex;gap:.7rem;align-items:flex-start;font-size:.82rem;color:var(--g700);line-height:1.6;margin:1.2rem 0 1.4rem;cursor:pointer}
.bk-check input{width:18px;height:18px;accent-color:var(--orange);margin-top:.15rem;flex-shrink:0}
.bk-check a{color:var(--od);text-decoration:underline;cursor:pointer}
.bk-hp{position:absolute!important;left:-9999px!important;height:0;overflow:hidden}
.bk-sum{background:#fff;border:1px solid var(--g200);position:sticky;top:90px}
.bk-sum-img{height:170px;background:var(--g100) center/cover no-repeat}
.bk-sum-b{padding:1.4rem 1.5rem}
.bk-sum h3{font-family:var(--fd);font-size:1.45rem;font-weight:500;margin-bottom:.8rem}
.bk-sum dl{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;font-size:.84rem;margin-bottom:1rem}
.bk-sum dt{color:var(--g500)}
.bk-sum dd{text-align:right;font-weight:600;color:var(--g900)}
.bk-lines{border-top:1px solid var(--g100);padding-top:.9rem;font-size:.82rem}
.bk-lines div{display:flex;justify-content:space-between;gap:1rem;padding:.2rem 0;color:var(--g700)}
.bk-lines .minus{color:#2E7D32}
.bk-total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--g200);margin-top:.8rem;padding-top:.9rem}
.bk-total span{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.bk-total b{font-family:var(--fd);font-size:2rem;font-weight:600}
.bk-note{font-size:.74rem;color:var(--g500);line-height:1.6;margin-top:.8rem}

/* ── KROK 4: potvrdenie ───────────────────────────── */
.bk-done{background:#fff;border:1px solid var(--g200);max-width:720px;margin:0 auto;padding:3rem 2.5rem;text-align:center}
.bk-done .ic{width:64px;height:64px;border:1.5px solid var(--orange);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.4rem}
.bk-done .ic svg{width:28px;height:28px;fill:none;stroke:var(--orange);stroke-width:2}
.bk-done h2{font-family:var(--fd);font-size:2.3rem;font-weight:400;line-height:1.15}
.bk-done h2 em{color:var(--orange)}
.bk-done p{color:var(--g600);font-size:.92rem;max-width:520px;margin:.9rem auto 0}
.bk-no{display:inline-block;margin-top:1.4rem;border:1px dashed var(--orange);padding:.7rem 1.4rem;font-weight:700;letter-spacing:.12em;font-size:1rem}
.bk-done dl{text-align:left;max-width:420px;margin:1.8rem auto 0;display:grid;grid-template-columns:auto 1fr;gap:.4rem 1rem;font-size:.88rem}
.bk-done dt{color:var(--g500)}
.bk-done dd{text-align:right;font-weight:600}
.bk-done .btn{margin-top:2rem}

.bk-load{display:flex;align-items:center;justify-content:center;gap:.7rem;padding:3rem;color:var(--g500);font-size:.85rem}
.bk-spin{width:18px;height:18px;border:2px solid var(--g200);border-top-color:var(--orange);border-radius:50%;animation:bkSpin .8s linear infinite}
@keyframes bkSpin{to{transform:rotate(360deg)}}

/* mobilná lišta */
.bk-mbar{display:none}

/* ── RESPONZÍVNE ──────────────────────────────────── */
@media(max-width:1024px){
  .bk-s1{grid-template-columns:1fr}
  .bk-side{border-left:none;border-top:1px solid var(--g200);display:grid;grid-template-columns:1fr 1fr;gap:1.2rem 1.6rem}
  .bk-side .bk-g-dates,.bk-side .btn,.bk-side .bk-err{grid-column:1/-1}
  .bk-s3{grid-template-columns:1fr}
  .bk-sum{position:static;order:-1}
  .bk-head{flex-direction:column;align-items:flex-start}
}
@media(max-width:768px){
  .bk{padding:5.8rem 0 7rem}
  .bk-head{padding:0 1.25rem 1.2rem;margin-bottom:1.2rem;gap:1rem}
  .bk-steps li:not(.on) .t{display:none}
  .bk-steps li+li::before{width:18px;margin:0 .5rem}
  .bk-s1,.bk-bar,.bk-room,.bk-form,.bk-sum,.bk-done,.bk-alert{border-left:none;border-right:none}
  .bk-cal{padding:1.2rem 1rem}
  .bk-cal-nav{left:1rem;right:1rem;top:1.2rem}
  .bk-months{grid-template-columns:1fr}
  .bk-month+.bk-month{display:none}
  .bk-day{height:54px}
  .bk-day .p{font-size:.62rem}
  .bk-side{grid-template-columns:1fr;padding:1.4rem 1.25rem}
  .bk-side>.btn{display:none}
  .bk-mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:900;background:#fff;border-top:1px solid var(--g200);box-shadow:0 -6px 24px rgba(0,0,0,.06);padding:.75rem 1.25rem calc(.75rem + env(safe-area-inset-bottom));align-items:center;gap:1rem}
  .bk-mbar .i{flex:1;min-width:0;font-size:.78rem;color:var(--g600);line-height:1.4}
  .bk-mbar .i b{display:block;color:var(--g900);font-size:.9rem}
  .bk-mbar .btn{padding:.9rem 1.3rem;font-size:.72rem}
  .bk-bar{margin-bottom:1.2rem}
  .bk-bar>div{padding:.8rem 1.25rem;font-size:.84rem}
  .bk-bar .sp{display:none}
  .bk-bar>div+div{border-left:none}
  .bk-bar button{width:calc(100% - 2.5rem);margin:.2rem 1.25rem 1rem;justify-content:center}
  .bk-h2{font-size:1.55rem;padding:0 1.25rem}
  .bk-alert{margin-left:0;margin-right:0}
  .bk-room{grid-template-columns:1fr}
  .bk-ph{min-height:230px}
  .bk-ph button{opacity:1}
  .bk-rinfo{padding:1.3rem 1.25rem 1rem}
  .bk-rate{grid-template-columns:1fr auto;padding:1.1rem 1.25rem;gap:1rem}
  .bk-rate .bk-bfw{grid-column:1/-1}
  .bk-price{text-align:left}
  .bk-rate .btn{padding:.9rem 1.2rem}
  .bk-na{padding:1rem 1.25rem}
  .bk-alt{grid-template-columns:1fr;padding:0 1.25rem}
  .bk-form{padding:1.5rem 1.25rem}
  .bk-row{grid-template-columns:1fr}
  .bk-done{padding:2.4rem 1.25rem}
}

/* ── vybavenie, dostupnosť, detail ───────────────── */
.bk-eq{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem;margin:.8rem 0 0}
.bk-eq li{font-size:.72rem;font-weight:600;color:var(--g700);border:1px solid var(--g200);background:var(--g50);padding:.28rem .55rem;line-height:1.3}
.bk-eq li.more{color:var(--g500)}
.bk-avail{display:inline-flex;align-items:center;gap:.45rem;margin-top:.9rem;font-size:.76rem;font-weight:700;color:#2E7D32;letter-spacing:.02em}
.bk-avail::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor}
.bk-avail.low{color:var(--od)}
.bk-link{display:block;margin-top:.7rem;padding:0;background:none;border:none;font-family:inherit;font-size:.8rem;font-weight:600;color:var(--g900);text-decoration:underline;text-underline-offset:3px;cursor:pointer;text-align:left}
.bk-link:hover{color:var(--orange)}
.bk-rinfo .bk-link{margin-top:auto;padding-top:.9rem}
.bk-price small.pay{display:block;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--g500);margin-top:.15rem}
.bk-alert.ok{border-left-color:#2E7D32}

.bk-drw{position:fixed;inset:0;z-index:10050;pointer-events:none}
.bk-drw-ov{position:absolute;inset:0;background:rgba(17,17,17,.45);opacity:0;transition:opacity .3s}
.bk-drw-p{position:absolute;top:0;right:0;bottom:0;width:min(460px,100%);background:#fff;transform:translateX(100%);transition:transform .35s cubic-bezier(.2,.7,.2,1);display:flex;flex-direction:column;box-shadow:-10px 0 40px rgba(0,0,0,.12)}
.bk-drw.on{pointer-events:auto}
.bk-drw.on .bk-drw-ov{opacity:1}
.bk-drw.on .bk-drw-p{transform:none}
.bk-drw-x{position:absolute;top:1rem;right:1rem;width:38px;height:38px;border:1px solid var(--g200);background:#fff;font-size:1.4rem;line-height:1;cursor:pointer;color:var(--g700)}
.bk-drw-x:hover{border-color:var(--orange);color:var(--orange)}
.bk-drw-b{flex:1;overflow-y:auto;padding:2rem 1.8rem 1.5rem}
.bk-drw-b h2{font-family:var(--fd);font-size:1.9rem;font-weight:500;line-height:1.15;padding-right:3rem}
.bk-drw-b h4{font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--g600);margin:1.5rem 0 .55rem}
.bk-drw-b p{font-size:.86rem;color:var(--g700);line-height:1.7}
.bk-drw-b p.big{font-family:var(--fd);font-size:1.5rem;font-weight:600;color:var(--g900)}
.bk-drw-l{list-style:none;font-size:.86rem;color:var(--g700)}
.bk-drw-l li{padding:.25rem 0 .25rem 1.4rem;position:relative}
.bk-drw-l li::before{content:'';position:absolute;left:.1rem;top:.62rem;width:8px;height:4px;border-left:1.5px solid var(--orange);border-bottom:1.5px solid var(--orange);transform:rotate(-45deg)}
.bk-drw-b .bk-lines{border-top:none;padding-top:0}
.bk-drw-f{border-top:1px solid var(--g200);padding:1rem 1.8rem calc(1rem + env(safe-area-inset-bottom))}
.bk-drw-f .btn{width:100%;justify-content:center}

/* ── zrušenie rezervácie ─────────────────────────── */
.bk-cxl{display:block;margin:.2rem auto 0;background:none;border:none;font-family:inherit;font-size:.76rem;font-weight:600;color:var(--g600);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.bk-cxl:hover{color:var(--orange)}
.bk-cx{background:#fff;border:1px solid var(--g200);max-width:640px;margin:0 auto;padding:2.4rem 2.2rem}
.bk-cx h2{font-family:var(--fd);font-size:2rem;font-weight:400;line-height:1.15;margin-bottom:.5rem}
.bk-cx h2 em{color:var(--orange)}
.bk-cx>p{font-size:.88rem;color:var(--g600);margin-bottom:1.4rem}
.bk-cx form .bk-row{margin-bottom:1.2rem}
.bk-cx dl{display:grid;grid-template-columns:auto 1fr;gap:.45rem 1rem;font-size:.9rem;margin:1.2rem 0 1.6rem}
.bk-cx dt{color:var(--g500)}
.bk-cx dd{text-align:right;font-weight:600}
@media(max-width:768px){
  .bk-cx{border-left:none;border-right:none;padding:1.8rem 1.25rem}
  .bk-drw-b{padding:1.6rem 1.25rem 1.2rem}
  .bk-drw-f{padding:.9rem 1.25rem calc(.9rem + env(safe-area-inset-bottom))}
}
[hidden]{display:none!important}
.bk-cx .bk-err{margin-bottom:1rem}.bk-cx .bk-alert{margin:1rem 0 0}

/* ── cenové možnosti izby (raňajky) ──────────────── */
.bk-rate{display:block;padding:1.3rem 1.9rem 1.4rem}
.bk-perks{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem 1.4rem;margin:0 0 1rem;padding:0}
.bk-perks li{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;color:#2E7D32}
.bk-perks svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.4;flex-shrink:0}
.bk-rates{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.bk-opt{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.2rem .85rem;align-items:center;background:#fff;border:1px solid var(--g200);padding:1rem 1.1rem;cursor:pointer;transition:border-color .2s,box-shadow .2s,background .2s}
.bk-opt:hover{border-color:var(--g400)}
.bk-opt.on{border-color:var(--orange);box-shadow:inset 0 0 0 1px var(--orange);background:#FFFBF7}
.bk-opt input{position:absolute;opacity:0;pointer-events:none}
.bk-opt:has(input:focus-visible){outline:2px solid var(--orange);outline-offset:2px}
.bk-opt .o-ic{width:38px;height:38px;border-radius:50%;border:1px solid var(--g200);display:flex;align-items:center;justify-content:center;color:var(--g600);transition:all .2s}
.bk-opt.on .o-ic{background:var(--orange);border-color:var(--orange);color:#fff}
.bk-opt .o-ic svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.bk-opt .o-t b{display:block;font-size:.92rem;font-weight:700;color:var(--g900);line-height:1.3}
.bk-opt .o-t small{display:block;font-size:.74rem;color:var(--g500);line-height:1.45;margin-top:.15rem}
.bk-opt .o-t small.o-x{color:var(--od);font-weight:600}
.bk-opt .o-p{text-align:right;white-space:nowrap}
.bk-opt .o-p s{display:block;font-size:.76rem;color:var(--g400)}
.bk-opt .o-p b{display:block;font-family:var(--fd);font-size:1.55rem;font-weight:600;color:var(--g900);line-height:1.1}
.bk-opt .o-p small{font-size:.7rem;color:var(--g500)}
.bk-bed{margin-top:1rem}
.bk-bed .bk-lab small{letter-spacing:0;text-transform:none;font-weight:500;color:var(--g500);margin-left:.3rem}
.bk-bed-o{display:inline-flex;border:1px solid var(--g200);background:#fff}
.bk-bed-o label{padding:.55rem 1rem;font-size:.8rem;font-weight:600;color:var(--g700);cursor:pointer;transition:background .2s,color .2s}
.bk-bed-o label+label{border-left:1px solid var(--g200)}
.bk-bed-o label.on{background:var(--g900);color:#fff}
.bk-bed-o input{position:absolute;opacity:0;pointer-events:none}
.bk-rate-f{display:flex;align-items:center;justify-content:flex-end;gap:1.2rem;margin-top:1.1rem}
.bk-pay{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--g500)}
@media(max-width:768px){
  .bk-rate{padding:1.1rem 1.25rem 1.2rem}
  .bk-rates{grid-template-columns:1fr}
  .bk-perks{gap:.35rem 1rem}
  .bk-bed-o{display:flex}.bk-bed-o label{flex:1;text-align:center}
  .bk-rate-f{flex-direction:column-reverse;align-items:stretch;gap:.6rem}
  .bk-rate-f .btn{justify-content:center}
  .bk-pay{text-align:center}
}

/* ── vybavenie s ikonami ─────────────────────────── */
.bk-eq{gap:.4rem}
.bk-eq li{display:inline-flex;align-items:center;gap:.4rem;font-size:.74rem;padding:.32rem .6rem .32rem .5rem;background:#fff;color:var(--g800)}
.bk-eq li svg{width:15px;height:15px;flex-shrink:0;fill:none;stroke:var(--orange);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.bk-eq li.more{padding:.32rem .6rem}
.bk-drw-b .bk-eq{margin-top:.2rem}
.bk-eq.ico li{position:relative;min-width:34px;height:34px;justify-content:center;padding:0 .55rem}
.bk-eq.ico li svg{width:17px;height:17px}
.bk-eq.ico li[title]{cursor:help}
.bk-eq.ico li[title]:hover::after,.bk-eq.ico li[title]:focus::after{content:attr(title);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--g900);color:#fff;font-size:.7rem;font-weight:600;white-space:nowrap;padding:.3rem .55rem;z-index:5;pointer-events:none}
.bk-eq.ico li:focus{outline:none;border-color:var(--orange)}
