body{
font-family:Arial,sans-serif;
background:#eef2f7;
padding:20px;
margin:0;
}

.box{
background:white;
padding:25px;
border-radius:20px;
max-width:900px;
margin:auto;
box-shadow:0 5px 15px rgba(0,0,0,.1);
}

input,select,button{
width:100%;
padding:14px;
margin-top:10px;
border-radius:10px;
border:1px solid #ddd;
box-sizing:border-box;
}

button{
background:#0b72ff;
color:white;
border:none;
cursor:pointer;
}

.day{
background:#f5f5f5;
padding:15px;
margin-top:15px;
border-radius:10px;
}

.preferences{
margin-top:20px;
}

.check{
display:block;
margin-top:10px;
font-size:18px;
}

.check input{
width:auto;
margin-right:10px;
}

.route-map{
margin-top:30px;
padding-left:25px;
border-left:4px solid #4f46e5;
position:relative;
}

.route-step{
position:relative;
padding:18px;
margin-bottom:20px;
background:white;
border-radius:18px;
box-shadow:0 4px 14px rgba(0,0,0,.08);
transition:.3s;
}

.route-step:hover{
transform:translateY(-3px);
box-shadow:0 8px 20px rgba(0,0,0,.12);
}

.route-step::before{
content:"";
position:absolute;
left:-36px;
top:26px;
width:18px;
height:18px;
background:#0b72ff;
border-radius:50%;
border:4px solid white;
}

.route-title{
font-size:18px;
font-weight:bold;
margin-bottom:6px;
}

.route-time{
font-size:14px;
color:#666;
margin-top:8px;
}

.castle{
border-left:6px solid #9b59b6;
}

.food{
border-left:6px solid #ff9800;
}

.view{
border-left:6px solid #4caf50;
}

.start{
border-left:6px solid #0b72ff;
}

.end{
border-left:6px solid #4caf50;
background:#f1fff1;
}

.favorites-header{
display:flex;
align-items:center;
justify-content:space-between;
margin-top:20px;
}

.small-btn{
width:auto;
padding:8px 16px;
margin-top:0;
}
