:root{
  --sk-bg:#111812;
  --sk-card:#fff9ee;
  --sk-text:#1d261d;
  --sk-muted:#6f7669;
  --sk-gold:#d6b36a;
  --sk-green:#304d34;
  --sk-free:#2f7d32;
  --sk-pending:#d6a22b;
  --sk-busy:#b42318;
  --sk-line:rgba(29,38,29,.13);
  --sk-shadow:0 18px 55px rgba(31,44,30,.16);
}

.sk-reservation{padding:80px 0;background:#f4eddf;color:var(--sk-text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
.sk-res-wrap{width:min(1160px,92%);margin:auto}
.sk-res-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:24px}
.sk-eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:950;color:var(--sk-gold);margin-bottom:10px}
.sk-reservation h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(34px,4.4vw,58px);line-height:1.04;margin:0 0 12px;color:#172219;font-weight:500}
.sk-reservation p{font-size:18px;color:var(--sk-muted);margin:0;max-width:740px}
.sk-alert{background:#fff9ee;border:1px solid var(--sk-line);border-left:6px solid var(--sk-gold);border-radius:18px;padding:16px 18px;margin:18px 0;box-shadow:0 10px 25px rgba(31,44,30,.08);font-weight:800}
.sk-calendar-card{background:linear-gradient(135deg,#fff9ee,#eadfce);border:1px solid var(--sk-line);border-radius:32px;padding:26px;box-shadow:var(--sk-shadow)}
.sk-monthbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.sk-monthbar h3{font-family:Georgia,'Times New Roman',serif;font-size:34px;margin:0;color:#172219;font-weight:500}
.sk-navbtn{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#172219;color:#fff8e8;text-decoration:none;font-size:34px;line-height:1}
.sk-days{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
.sk-week-head{margin-bottom:10px;color:#6f7669;font-weight:950;text-align:center;font-size:13px}
.sk-day{min-height:112px;background:#fffdf7;border:1px solid var(--sk-line);border-radius:20px;padding:10px;display:flex;flex-direction:column;justify-content:space-between}
.sk-day.empty{background:transparent;border:0;box-shadow:none}
.sk-day-num{text-align:center;font-weight:950;color:#172219;font-size:18px}
.sk-slot-row{display:flex;gap:8px;justify-content:center}
.sk-slot{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;text-decoration:none;color:white;font-size:18px;font-weight:900;box-shadow:0 8px 16px rgba(0,0,0,.12);transition:.16s ease}
.sk-slot.free{background:var(--sk-free)}
.sk-slot.pending{background:var(--sk-pending)}
.sk-slot.busy{background:var(--sk-busy)}
a.sk-slot:hover{transform:translateY(-2px);filter:brightness(1.08)}
.sk-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:20px;color:#394238;font-weight:850}
.sk-legend span{display:inline-flex;align-items:center;gap:8px}
.sk-legend i{width:18px;height:18px;border-radius:6px;display:inline-block}
.sk-legend .free{background:var(--sk-free)}
.sk-legend .pending{background:var(--sk-pending)}
.sk-legend .busy{background:var(--sk-busy)}

.sk-popup-body{margin:0;min-height:100vh;background:radial-gradient(circle at 80% 20%,rgba(214,179,106,.24),transparent 28%),linear-gradient(135deg,#111812,#304d34);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--sk-text);display:grid;place-items:center;padding:22px}
.sk-popup{width:min(620px,100%);background:#fff9ee;border:1px solid rgba(255,255,255,.3);border-radius:30px;padding:30px;box-shadow:0 24px 70px rgba(0,0,0,.28);position:relative}
.sk-popup h1{font-family:Georgia,'Times New Roman',serif;font-size:42px;line-height:1.05;margin:0 0 10px;color:#172219;font-weight:500}
.sk-popup-date{font-size:18px;color:var(--sk-muted);font-weight:800;margin:0 0 24px}
.sk-close{position:absolute;right:18px;top:14px;width:38px;height:38px;border-radius:50%;background:#172219;color:#fff8e8;display:grid;place-items:center;text-decoration:none;font-size:28px;line-height:1}
.sk-form label{display:block;font-weight:950;margin:16px 0 7px;color:#172219}
.sk-form label span{font-weight:700;color:var(--sk-muted)}
.sk-form input,.sk-form textarea{width:100%;border:1px solid var(--sk-line);border-radius:16px;padding:14px 15px;font:inherit;background:#fffdf7;color:var(--sk-text);outline:none}
.sk-form input:focus,.sk-form textarea:focus{border-color:var(--sk-gold);box-shadow:0 0 0 4px rgba(214,179,106,.16)}
.sk-form small{display:block;margin-top:6px;color:var(--sk-muted)}
.sk-check{display:flex!important;align-items:flex-start;gap:10px;margin-top:18px!important}
.sk-check input{width:auto;margin-top:4px}
.sk-pay-note{background:#f1e6d2;border-radius:18px;padding:14px 16px;color:#4c554b!important;font-size:15px!important;margin:18px 0!important}
.sk-submit{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:999px;padding:15px 24px;background:var(--sk-gold);color:#1f261b;text-decoration:none;font-weight:950;font:inherit;cursor:pointer;box-shadow:0 14px 28px rgba(0,0,0,.14)}
.sk-hp{position:absolute!important;left:-9999px!important;opacity:0!important}
.sk-status{padding:18px;border-radius:18px;margin:18px 0;font-weight:850}
.sk-status.success{background:#e6f4e7;border:1px solid #b7dfba;color:#1f6b28}
.sk-status.error{background:#fde8e6;border:1px solid #f1b5ae;color:#9c1f14}

@media(max-width:760px){
  .sk-reservation{padding:58px 0}
  .sk-calendar-card{padding:16px;border-radius:24px}
  .sk-days{gap:6px}
  .sk-week-head{font-size:12px}
  .sk-day{min-height:86px;border-radius:15px;padding:7px}
  .sk-day-num{font-size:15px}
  .sk-slot-row{gap:5px}
  .sk-slot{width:28px;height:28px;border-radius:9px;font-size:14px}
  .sk-monthbar h3{font-size:26px}
  .sk-navbtn{width:40px;height:40px;font-size:28px}
  .sk-popup{padding:24px;border-radius:24px}
  .sk-popup h1{font-size:34px}
}

.sk-summary{background:#f1e6d2;border:1px solid rgba(29,38,29,.1);border-radius:18px;padding:16px 18px;margin:18px 0;font-size:16px;line-height:1.75;color:#263126}
.sk-submit.ok{background:#2f7d32;color:#fff}
.sk-submit.danger{background:#b42318;color:#fff}

.sk-navbtn.disabled{opacity:.28;pointer-events:none;background:#9ca095;color:#f4eddf}
.sk-day.past{background:#e1dfd8;border-color:rgba(29,38,29,.06);opacity:.72}
.sk-day.past .sk-day-num{color:#8a8f84}
.sk-day.past .sk-slot{background:#b9bbb4!important;color:#f4f1e9;box-shadow:none;cursor:not-allowed}

/* Rezervačná sekcia – širší informačný text */
.sk-reservation .reservation-info {
  max-width: 980px;
  margin: 18px 0 0;
  font-size: 18px;
  line-height: 1.55;
}

.sk-reservation .reservation-info + .reservation-info {
  margin-top: 6px;
}

@media(max-width:760px) {
  .sk-reservation .reservation-info {
    max-width: 100%;
    font-size: 16px;
  }
}

.sk-reservation .reservation-note {
  max-width: 980px;
  margin: 22px 0 28px;
  padding: 22px 24px;
  border-radius: 24px;
  background: rgba(255,249,238,.72);
  border: 1px solid rgba(29,38,29,.10);
}

.sk-reservation .reservation-note p {
  margin: 0;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.55;
}

.sk-reservation .reservation-note p + p {
  margin-top: 8px;
}

@media(max-width:760px) {
  .sk-reservation .reservation-note {
    padding: 18px;
    margin: 18px 0 24px;
  }

  .sk-reservation .reservation-note p {
    font-size: 16px;
  }
}

/* === Úprava zarovnania informačného boxu v rezervácii ===
   Box pod cenami má rovnakú šírku ako kalendár a text sa neláme zbytočne skoro. */
.sk-reservation .reservation-note {
  width: 100%;
  max-width: none;
  margin: 22px 0 28px;
  padding: 22px 24px;
  border-radius: 24px;
  background: rgba(255,249,238,.72);
  border: 1px solid rgba(29,38,29,.10);
  box-shadow: 0 10px 28px rgba(31,44,30,.06);
}

.sk-reservation .reservation-note p {
  max-width: none;
  margin: 0;
  color: var(--sk-muted);
  font-size: 18px;
  line-height: 1.55;
}

.sk-reservation .reservation-note p + p {
  margin-top: 8px;
}

.sk-reservation .slots {
  width: 100%;
}

@media(max-width:760px) {
  .sk-reservation .reservation-note {
    padding: 18px;
    margin: 18px 0 24px;
    border-radius: 20px;
  }

  .sk-reservation .reservation-note p {
    max-width: none;
    font-size: 16px;
  }
}


.sk-reservation .reservation-intro {
  max-width: 980px;
  font-size: 18px;
  line-height: 1.55;
}

@media(max-width:760px) {
  .sk-reservation .reservation-intro {
    max-width: 100%;
    font-size: 16px;
  }
}
