/*
 * Calendar appointment hover action.
 * Keeps Project Builder reachable without crowding the month appointment block.
 */
.calendar-appointment-hover{
  animation:calendar-hover-project-enter .14s ease-out both;
}

.calendar-appointment-hover::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-9px;
  height:9px;
}

.calendar-appointment-hover .calendar-hover-project-actions-v3{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid #2b4053;
}

.calendar-appointment-hover .calendar-hover-project-v3{
  width:100%;
  min-height:48px;
  display:grid;
  grid-template-columns:18px minmax(0,1fr) 16px;
  align-items:center;
  gap:10px;
  padding:8px 11px;
  border:1px solid #ff7a00;
  border-radius:7px;
  background:#ff7a00;
  color:#140c05;
  text-align:left;
  box-shadow:none;
  filter:none;
  cursor:pointer;
  transition:background-color .14s ease,border-color .14s ease,transform .14s ease;
}

.calendar-appointment-hover .calendar-hover-project-v3>svg{
  width:18px;
  height:18px;
}

.calendar-appointment-hover .calendar-hover-project-v3>svg:last-child{
  width:16px;
  height:16px;
}

.calendar-appointment-hover .calendar-hover-project-v3 span{
  min-width:0;
  display:grid;
  gap:3px;
}

.calendar-appointment-hover .calendar-hover-project-v3 strong{
  color:inherit;
  font-size:13px;
  font-weight:850;
  line-height:1.1;
  text-shadow:none;
}

.calendar-appointment-hover .calendar-hover-project-v3 small{
  color:#3f210b;
  font-size:10px;
  font-weight:750;
  line-height:1.2;
  text-shadow:none;
}

.calendar-appointment-hover .calendar-hover-project-v3:hover,
.calendar-appointment-hover .calendar-hover-project-v3:focus-visible{
  border-color:#ff7a00;
  outline:2px solid #ff7a00;
  outline-offset:2px;
  background:#ff7a00;
  color:#140c05;
  transform:none;
}

.calendar-appointment-hover .calendar-hover-project-v3:active{
  border-color:#b94708;
  background:#c45209;
  color:#fff;
  transform:none;
}

@keyframes calendar-hover-project-enter{
  from{opacity:0;transform:translateY(4px)}
  to{opacity:1;transform:translateY(0)}
}

@media (prefers-reduced-motion:reduce){
  .calendar-appointment-hover{
    animation:none;
  }

  .calendar-appointment-hover .calendar-hover-project-v3{
    transition:none;
  }
}
