/* Live Contact calendar state presentation.
   This file adds only the status/retry surface and transport-specific corrections
   needed by the production API; established v87 calendar geometry remains in
   contact-calendar-v87.css. */

body[data-page="contact"] .calendar-times.is-status{
  align-items:center;
  gap:.6rem;
  overflow:hidden;
  cursor:default;
  color:var(--muted);
  font-size:.72rem;
  line-height:1.25;
}

body[data-page="contact"] .calendar-times.is-status .calendar-status-text{
  flex:1 1 auto;
  min-width:0;
}

body[data-page="contact"] .calendar-retry{
  appearance:none;
  flex:0 0 auto;
  margin:0;
  padding:.12rem 0;
  border:0;
  border-bottom:1px solid currentColor;
  border-radius:0;
  background:transparent;
  color:var(--ink);
  font:inherit;
  font-size:.7rem;
  line-height:1.2;
  cursor:pointer;
  transition:color .16s ease,transform .16s ease;
}

body[data-page="contact"] .calendar-retry:hover,
body[data-page="contact"] .calendar-retry:focus-visible{
  color:var(--accent);
  transform:translateY(-1px);
}

body[data-page="contact"] .calendar-retry:focus-visible{
  outline:1px solid currentColor;
  outline-offset:3px;
}

/* Calendar days must stay geometrically still while pointer/focus feedback changes.
   The v87 hover translation made the dense grid feel unsettled and the shared
   outer focus ring visually enlarged individual cells. Keep the same restrained
   border/color feedback and draw keyboard focus inside the existing cell box. */
body[data-page="contact"] .calendar-day:hover:not(:disabled):not([aria-disabled="true"]){
  transform:none;
}
body[data-page="contact"] .contact-page .calendar-day:focus-visible{
  outline:1px solid var(--accent);
  outline-offset:-2px;
}

/* Contact tooltips share one visual grammar while retaining the calendar-owned
   positioning/interaction mechanics transferred from v87. */
body[data-page="contact"] .calendar-day.is-today[aria-disabled="true"]::after,
body[data-page="contact"] .time-duration-tooltip{
  padding:var(--contact-tooltip-padding);
  border:var(--contact-tooltip-border);
  background:var(--contact-tooltip-surface);
  color:var(--contact-tooltip-color);
  box-shadow:var(--contact-tooltip-shadow);
  font-size:var(--contact-tooltip-font-size);
  font-weight:400;
  line-height:var(--contact-tooltip-line-height);
  letter-spacing:0;
}
html[data-theme="dark"] body[data-page="contact"] .calendar-day.is-today[aria-disabled="true"]::after{
  background:var(--contact-tooltip-surface);
}

/* v87's later calendar layer owns the desktop optical centering via `top`.
   On the established <=480px flow layout the action is relative rather than
   absolute, so retain the mobile `top:auto` after that later layer. */
@media(max-width:480px){
  body[data-page="contact"] .calendar-action-row .calendar-book-action{
    top:auto;
  }
}

@media(prefers-reduced-motion:reduce){
  body[data-page="contact"] .calendar-retry{
    transition:none;
  }
  body[data-page="contact"] .calendar-retry:hover,
  body[data-page="contact"] .calendar-retry:focus-visible{
    transform:none;
  }
}
