.sln-calendar-wrap{
  margin-top:1.5rem;
  background:#ffffff;
  border-radius:18px;
  padding:16px 16px 20px;
  box-shadow:0 10px 30px rgba(0,0,0,0.06);
}

.calendar-note{
  font-size:0.9rem;
  color:#777;
  text-align:center;
  margin:0 0 10px;
}

.sln-cal-nav{
  display:flex;
  justify-content:space-between;
  align-items:center;
  width:100%;
  gap:10px;
  margin:12px 0 14px;
  flex-wrap:wrap;
}
.sln-cal-nav-left, .sln-cal-nav-right{
  display:flex;
  align-items:center;
}
.sln-cal-nav a,
.sln-cal-nav span.sln-disabled{
  display:inline-block;
  padding:6px 14px;
  border-radius:999px;
  background:#ffe8a3;
  color:#444;
  font-weight:600;
  text-decoration:none;
  border:1px solid rgba(0,0,0,0.05);
  font-size:14px;
  line-height:1;
}
.sln-cal-nav a:hover{ background:#ffd36b; }
.sln-cal-nav span.sln-disabled{
  opacity:.5;
  cursor:default;
}

.calendar-nav-btn{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.45rem .9rem;
  border-radius:999px;
  background:linear-gradient(135deg,#f6c453,#f4a623);
  color:#fff;
  font-weight:700;
  font-size:14px;
  text-decoration:none;
  box-shadow:0 6px 18px rgba(0,0,0,0.12);
  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
  border:none;
  white-space:nowrap;
}
.calendar-nav-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 22px rgba(0,0,0,0.16);
  filter:brightness(1.03);
}

.sln-cal-months{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:16px;
}
.sln-cal-month{
  background:#fff7eb;
  border-radius:14px;
  padding:10px 10px 12px;
  box-shadow:0 4px 12px rgba(0,0,0,0.04);
}
.sln-cal-month h3{
  margin:0 0 6px;
  font-size:15px;
  font-weight:700;
  color:#4b3b2a;
  text-align:center;
}
.sln-cal-grid{
  display:grid;
  grid-template-columns:repeat(7, 1fr);
  gap:2px;
  font-size:12px;
}
.sln-cal-head{
  text-align:center;
  font-weight:700;
  padding:4px 0;
  color:#5d4a34;
}
.sln-cal-day{
  text-align:center;
  padding:6px 0;
  border-radius:6px;
}

.sln-cal-grid a.sln-cal-day{display:block; text-decoration:none; color:inherit;}
.sln-cal-grid a.sln-cal-day:hover{filter:brightness(1.03);}
.sln-cal-empty{ background:transparent; }

.sln-cal-free{
  background:#d5ffd5;
  color:#30572a;
}
.sln-cal-booked{
  background:#ffd5d5;
  color:#7b1c1c;
}
.sln-cal-past{
  background:#e5e5e5;
  color:#777;
}
.sln-cal-today{
  outline:2px solid #b0b0b0;
  outline-offset:1px;
  font-weight:800;
}

/* LEGENDA */
.sln-cal-legend{
  display:flex;
  flex-wrap:wrap;
  gap:12px 18px;
  margin-top:10px;
  font-size:12px;
  color:#4b3b2a;
  justify-content:center;
}
.sln-cal-legend span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.sln-cal-box{
  width:14px;
  height:14px;
  border-radius:4px;
  display:inline-block;
}
.sln-cal-box.free{ background:#d5ffd5; }
.sln-cal-box.booked{ background:#ffd5d5; }
.sln-cal-box.yellow{ background:#fff2b3; }

/* Poznámka pod legendou – VŽDY nový riadok + vycentrovaná */
.sln-cal-legend .sln-cal-note{
  flex:0 0 100%;
  text-align:center;
  font-size:13px;
  color:#777;
  margin-top:10px;
}

@media (max-width:768px){
  .sln-cal-months{ grid-template-columns:minmax(0,1fr); }
}

/* ŽLTÁ (obmedzená dostupnosť) */
.sln-cal-yellow{
  background:#fff2b3;
  color:#6a4a00;
}

/* POL DŇA (ľavá/pravá polovica cez CSS premenné --left/--right) */
.sln-cal-day.sln-cal-split{
  position:relative;
  background:linear-gradient(90deg,
    var(--left, #d5ffd5) 0 50%,
    var(--right, #d5ffd5) 50% 100%
  );
  color:var(--fg, #333);
}

/* NOTE v legende – prebiť span inline-flex */
.sln-cal-legend .sln-cal-note{
  flex: 0 0 100%;
  display: block;          /* dôležité: zruší inline-flex zo .sln-cal-legend span */
  text-align: center;
  margin-top: 10px;
  font-size: 13px;
  color: #777;
}

