/* Contact capacity is informational: it never reserves a Slot. */
body.public-site.customer-ad-form .contact-ad-calendar .portal-calendar-panel {
  width: 360px;
  max-width: calc(100vw - 24px);
  left: 50%;
  right: auto;
  transform: translateX(-50%);
  padding: 12px;
  background: var(--customer-panel,#1f2424);
  border: 1px solid #586367;
  border-radius: 4px;
  color: var(--customer-text,#f4f5f6);
  box-shadow: 0 14px 38px #0008;
}
body.public-site.customer-ad-form .contact-ad-calendar .portal-calendar-grid {
  grid-template-columns: repeat(7,minmax(0,1fr));
  gap: 3px;
  padding: 10px 0;
}
body.public-site.customer-ad-form .contact-ad-calendar .portal-calendar-grid button {
  min-width: 0;
  min-height: 40px;
  padding: 4px;
  border: 1px solid transparent;
  border-radius: 4px;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  box-shadow: none;
  opacity: 1;
}
body.public-site.customer-ad-form .contact-ad-calendar .portal-calendar-grid button[data-availability=available] {
  background: #213d2c;
  border-color: #426c51;
  color: #b9edc9;
  cursor: pointer;
}
body.public-site.customer-ad-form .contact-ad-calendar .portal-calendar-grid button[data-availability=available]:hover {
  background: #2d503b;
  border-color: #8dd5a6;
  color: #e1ffeb;
}
body.public-site.customer-ad-form .contact-ad-calendar .portal-calendar-grid button[data-availability=unavailable]:disabled {
  background: #422a2c;
  border-color: #704548;
  color: #f4b9bd;
  cursor: not-allowed;
}
body.public-site.customer-ad-form .contact-ad-calendar .portal-calendar-grid button:is([data-availability=unknown],[data-availability=loading]):disabled {
  background: #252c2e;
  border-color: #3c474b;
  color: #a1abad;
  cursor: wait;
}
body.public-site.customer-ad-form .contact-ad-calendar .portal-calendar-grid button[data-availability=unknown]:disabled { cursor: not-allowed; }
body.public-site.customer-ad-form .contact-ad-calendar .portal-calendar-grid button[data-availability=past]:disabled {
  background: transparent;
  border-color: transparent;
  color: #697376;
  cursor: not-allowed;
}
body.public-site.customer-ad-form .contact-ad-calendar .portal-calendar-grid button.selected {
  outline: 2px solid var(--customer-accent,#00b9f1);
  outline-offset: -2px;
}
body.public-site.customer-ad-form .contact-ad-calendar .portal-calendar-grid button:focus-visible {
  outline: 2px solid var(--customer-focus,#7adfff);
  outline-offset: 1px;
}
body.public-site.customer-ad-form .contact-ad-calendar .contact-capacity-context {
  margin: 10px 0 7px;
  padding-top: 10px;
  border-top: 1px solid var(--customer-line,#ffffff24);
  color: var(--customer-text,#f4f5f6);
  font-size: 11px;
  line-height: 1.6;
}
body.public-site.customer-ad-form .contact-ad-calendar .contact-capacity-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  color: var(--customer-muted,#b5babc);
  font-size: 10px;
  line-height: 1.6;
}
body.public-site.customer-ad-form .contact-ad-calendar .contact-capacity-legend span { display: inline-flex;align-items:center;gap:5px; }
body.public-site.customer-ad-form .contact-ad-calendar .contact-capacity-legend span::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: #7e8b90;
}
body.public-site.customer-ad-form .contact-ad-calendar .contact-capacity-legend [data-capacity=available]::before { background: #8dd5a6; }
body.public-site.customer-ad-form .contact-ad-calendar .contact-capacity-legend [data-capacity=unavailable]::before { background: #e79198; }
body.public-site.customer-ad-form .contact-ad-calendar .portal-availability-note {
  margin: 8px 0 0;
  color: var(--customer-muted,#b5babc);
  font-size: 10px;
  line-height: 1.65;
}
@media (max-width:640px) {
  body.public-site.customer-ad-form .contact-ad-calendar .portal-calendar-grid button { min-height:44px; }
}
