/* Spoločné CSS pre kalendár – používa sa na webe aj v admine. */
: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-calendar-card,
.sk-calendar-card *{box-sizing:border-box}

.sk-calendar-card{
  width:100%;
  max-width:100%;
  overflow:hidden;
  background:linear-gradient(135deg,#fff9ee,#eadfce);
  border:1px solid var(--sk-line);
  border-radius:32px;
  padding:26px;
  box-shadow:var(--sk-shadow);
}

.sk-calendar-card.is-loading{opacity:.62;pointer-events:none;transition:opacity .15s ease}

.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-navbtn.disabled{opacity:.28;pointer-events:none;background:#9ca095;color:#f4eddf}

.sk-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.sk-week-head{margin-bottom:10px;color:#6f7669;font-weight:950;text-align:center;font-size:13px}
.sk-day{min-width:0;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-day.past{background:#e1dfd8;border-color:rgba(29,38,29,.06);opacity:.72}
.sk-day.past .sk-day-num{color:#8a8f84}

.sk-slot-row{min-width:0;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}
a.sk-slot:hover{transform:translateY(-2px);filter:brightness(1.08)}

.sk-slot.free,
.sk-slot.sk-state-free{background:var(--sk-free)!important;color:#fff!important;border-color:transparent!important}
.sk-slot.pending,
.sk-slot.sk-state-pending{background:var(--sk-pending)!important;color:#fff!important;border-color:transparent!important}
.sk-slot.busy,
.sk-slot.sk-state-busy{background:var(--sk-busy)!important;color:#fff!important;border-color:transparent!important}
.sk-slot.past-slot,
.sk-slot.sk-state-past,
.sk-day.past .sk-slot{background:#b9bbb4!important;color:#f4f1e9!important;border-color:transparent!important;box-shadow:none;cursor:not-allowed}

.sk-slot-full-row{width:100%;display:flex;justify-content:center;margin:4px 0 7px}
.sk-slot.sk-slot-full{width:100%;max-width:100%!important;min-width:0;height:30px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:4px;font-size:12px;line-height:1;padding:0 8px}
.sk-slot.sk-slot-full strong{font-size:10px;line-height:1;font-weight:950;white-space:nowrap}

.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)}

.shared-calendar-wrap{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}

@media(max-width:760px){
  .sk-calendar-card{padding:10px;border-radius:20px}
  .sk-days{gap:4px}
  .sk-week-head{font-size:12px}
  .sk-day{min-height:76px;padding:5px 3px;border-radius:12px}
  .sk-day.empty{min-height:76px}
  .sk-day-num{font-size:14px}
  .sk-slot-row{gap:3px}
  .sk-slot{width:24px;height:24px;border-radius:8px;font-size:12px}
  .sk-monthbar{gap:8px}
  .sk-monthbar h3{font-size:24px;text-align:center;white-space:nowrap}
  .sk-navbtn{width:38px;height:38px;flex:0 0 38px;font-size:28px}
  .sk-slot-full-row{margin:2px 0 4px}
  .sk-slot.sk-slot-full{width:100%;max-width:100%!important;height:22px;border-radius:999px;font-size:10px;gap:2px;padding:0 4px}
  .sk-slot.sk-slot-full strong{display:none}
}

@media(max-width:390px){
  .sk-calendar-card{padding:8px}
  .sk-days{gap:3px}
  .sk-day{min-height:70px;padding:4px 2px}
  .sk-slot{width:22px;height:22px;font-size:11px}
  .sk-monthbar h3{font-size:21px}
}
