/* Pitlane appointment calendar. Presentation only; original radios and actions remain. */
body.pitlane #booking-calendar {
  --calendar-red: #d91f12;
  --calendar-ink: #242a2d;
  --calendar-muted: #697174;
  --calendar-line: #dfe3df;
  --calendar-soft: #f6f7f3;
  float: none;
  clear: both;
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 18px 0 22px;
  padding: 22px;
  border: 1px solid var(--calendar-line);
  border-radius: 8px;
  background: #fff;
  color: var(--calendar-ink);
  box-shadow: 0 4px 18px #19232505;
  font: 14px/1.5 Arial, Helvetica, sans-serif;
  text-align: left;
}
body.pitlane #booking-calendar *,
body.pitlane #booking-calendar *::before,
body.pitlane #booking-calendar *::after { box-sizing: border-box; }
body.pitlane #booking-calendar :is(button, p, h2, h3, h4, strong, span, small) {
  float: none;
  min-width: 0;
  max-width: 100%;
}
body.pitlane #booking-calendar button { font-family: Arial, Helvetica, sans-serif; }
body.pitlane #booking-calendar :is(button, .booking-slot):focus-visible {
  outline: 3px solid #168cdb;
  outline-offset: 3px;
}
body.pitlane #booking-calendar [hidden] { display: none !important; }

/* Heading and workshop chip. The icon is decorative and uses no extra markup. */
body.pitlane #booking-calendar .booking-calendar-heading {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  width: 100%;
  margin: 0 0 20px;
  padding: 0;
  text-align: left;
}
body.pitlane #booking-calendar .booking-calendar-heading::before {
  content: '';
  display: block;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border: 1px solid #f5d6d0;
  border-radius: 7px;
  background: #fff4f1 center/22px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d91f12' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M7 3v4M17 3v4M3 10h18M8 14h2M14 14h2M8 17h2'/%3E%3C/svg%3E");
}
body.pitlane #booking-calendar .booking-calendar-heading > div {
  flex: 1 1 240px;
  min-width: 0;
}
body.pitlane #booking-calendar p.calendar-eyebrow {
  display: block;
  clear: none;
  width: auto;
  height: auto;
  margin: 0 0 4px;
  padding: 0;
  color: var(--calendar-muted);
  background: none;
  font: 700 9px/1.5 Arial, Helvetica, sans-serif;
  text-transform: uppercase;
  text-align: left;
  letter-spacing: 1.5px;
}
body.pitlane #booking-calendar .booking-calendar-heading h2 {
  display: block;
  clear: none;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  color: var(--calendar-ink);
  background: none;
  font: 700 23px/1.25 Arial, Helvetica, sans-serif;
  letter-spacing: -.6px;
  text-align: left;
  overflow-wrap: anywhere;
}
body.pitlane #booking-calendar .calendar-location {
  display: inline-flex;
  align-items: center;
  flex: 0 1 auto;
  gap: 6px;
  width: auto;
  height: auto;
  margin: 0 0 0 auto;
  padding: 7px 10px;
  color: var(--calendar-ink);
  background: var(--calendar-soft);
  border: 1px solid var(--calendar-line);
  border-radius: 4px;
  font: 600 11px/1.5 Arial, Helvetica, sans-serif;
  text-align: left;
}
body.pitlane #booking-calendar .calendar-location::before {
  content: '';
  flex: 0 0 13px;
  width: 13px;
  height: 16px;
  background: center/13px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 22' fill='none' stroke='%23d91f12' stroke-width='1.7'%3E%3Cpath d='M16 8c0 5-7 12-7 12S2 13 2 8a7 7 0 0 1 14 0Z'/%3E%3Ccircle cx='9' cy='8' r='2.4'/%3E%3C/svg%3E");
}

/* Month and selected-day panels share a baseline and border treatment. */
body.pitlane #booking-calendar .booking-calendar-layout {
  display: grid;
  grid-template-columns: minmax(320px, 1.06fr) minmax(260px, 1fr);
  align-items: start;
  gap: 20px;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
}
body.pitlane #booking-calendar :is(.booking-month-panel, .booking-times-panel) {
  min-width: 0;
  margin: 0;
  padding: 16px;
  border: 1px solid var(--calendar-line);
  border-radius: 6px;
  background: #fff;
}
body.pitlane #booking-calendar .booking-times-panel { background: #fafbf8; }
body.pitlane #booking-calendar .booking-month-toolbar {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 40px;
  align-items: center;
  gap: 8px;
  margin: 0 0 17px;
  padding: 0;
}
body.pitlane #booking-calendar .booking-month-toolbar > div { min-width: 0; text-align: center; }
body.pitlane #booking-calendar #booking-month-label {
  display: block;
  clear: none;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  color: var(--calendar-ink);
  background: none;
  font: 700 17px/1.4 Arial, Helvetica, sans-serif;
  letter-spacing: -.3px;
  text-align: center;
  overflow-wrap: anywhere;
}
body.pitlane #booking-calendar p.calendar-range {
  display: block;
  clear: none;
  width: auto;
  height: auto;
  margin: 3px 0 0;
  padding: 0;
  color: var(--calendar-muted);
  background: none;
  font: 10px/1.5 Arial, Helvetica, sans-serif;
  text-align: center;
}
body.pitlane #booking-calendar :is(.calendar-month-prev, .calendar-month-next) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  min-width: 40px;
  height: 40px;
  min-height: 40px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--calendar-line);
  border-radius: 4px;
  color: var(--calendar-ink);
  background: #fff;
  font: 400 24px/1 Arial, Helvetica, sans-serif;
  text-align: center;
  text-indent: 0;
  cursor: pointer;
}
body.pitlane #booking-calendar :is(.calendar-month-prev, .calendar-month-next):hover:not(:disabled) {
  color: var(--calendar-red);
  border-color: #e8b9af;
  background: #fff5f2;
}
body.pitlane #booking-calendar :is(.calendar-month-prev, .calendar-month-next):disabled {
  color: #b5bcb6;
  background: #f7f8f5;
  border-color: #e9ece6;
  cursor: default;
}
body.pitlane #booking-calendar .booking-weekdays {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 5px;
  margin: 0 0 7px;
  padding: 0;
}
body.pitlane #booking-calendar .booking-weekdays > span {
  display: block;
  width: auto;
  margin: 0;
  padding: 0;
  color: #737c77;
  font: 700 10px/1.5 Arial, Helvetica, sans-serif;
  text-transform: uppercase;
  text-align: center;
}
body.pitlane #booking-calendar .booking-days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  grid-auto-rows: minmax(57px, auto);
  gap: 5px;
  margin: 0;
  padding: 0;
}
body.pitlane #booking-calendar .calendar-day {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 100%;
  min-width: 0;
  height: 100%;
  min-height: 57px;
  margin: 0;
  padding: 6px 2px;
  border: 1px solid #e5e9e1;
  border-radius: 5px;
  background: #fff;
  color: var(--calendar-ink);
  font: 700 15px/1.2 Arial, Helvetica, sans-serif;
  text-align: center;
  text-indent: 0;
  cursor: pointer;
}
body.pitlane #booking-calendar .calendar-day-number {
  display: block;
  width: auto;
  margin: 0;
  padding: 0;
  color: inherit;
  font: inherit;
  text-align: center;
}
body.pitlane #booking-calendar .calendar-day-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  width: auto;
  margin: 0;
  padding: 0;
  color: #4c735c;
  font: 600 9px/1.3 Arial, Helvetica, sans-serif;
  text-align: center;
  white-space: normal;
}
body.pitlane #booking-calendar .calendar-day-count::before {
  content: '';
  display: block;
  flex: 0 0 4px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: currentColor;
}
body.pitlane #booking-calendar .calendar-day:hover:not(:disabled):not(.is-selected):not(.is-unavailable) {
  border-color: #e7b5ab;
  background: #fff7f3;
}
body.pitlane #booking-calendar .calendar-day.is-today:not(.is-selected) { border-color: #3a4444; }
body.pitlane #booking-calendar .calendar-day.is-today::after {
  content: '';
  position: absolute;
  top: 4px;
  right: 4px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: currentColor;
}
body.pitlane #booking-calendar .calendar-day:is(.is-unavailable, :disabled) {
  color: #8a938b;
  border-color: #eef0eb;
  background: #f5f6f2;
  cursor: default;
}
body.pitlane #booking-calendar .calendar-day:is(.is-unavailable, :disabled) .calendar-day-count { color: #929b92; }
body.pitlane #booking-calendar .calendar-day:is(.is-unavailable, :disabled) .calendar-day-count::before { background: #bcc3bb; }
body.pitlane #booking-calendar .calendar-day.is-selected {
  color: #fff;
  border-color: var(--calendar-red);
  background: var(--calendar-red);
  box-shadow: 0 2px 5px #d91f121a;
}
body.pitlane #booking-calendar .calendar-day.is-selected .calendar-day-count { color: #fff; }
body.pitlane #booking-calendar .booking-days > .is-outside {
  display: block;
  min-height: 0;
  border: 0;
  background: none;
}
body.pitlane #booking-calendar .calendar-legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px 14px;
  margin: 14px 0 0;
  padding: 12px 0 0;
  border-top: 1px solid #edf0e9;
}
body.pitlane #booking-calendar .calendar-legend > span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  width: auto;
  margin: 0;
  padding: 0;
  color: var(--calendar-muted);
  font: 10px/1.5 Arial, Helvetica, sans-serif;
}
body.pitlane #booking-calendar .calendar-legend i {
  display: inline-block;
  flex: 0 0 7px;
  width: 7px;
  height: 7px;
  border: 1px solid #4c735c;
  border-radius: 50%;
  background: #4c735c;
}
body.pitlane #booking-calendar .calendar-legend :is(.legend-unavailable, .is-unavailable) i,
body.pitlane #booking-calendar .calendar-legend i.is-unavailable { border-color: #b8c0b7; background: #edf0e9; }
body.pitlane #booking-calendar .calendar-legend :is(.legend-selected, .is-selected) i,
body.pitlane #booking-calendar .calendar-legend i.is-selected { border-color: var(--calendar-red); background: var(--calendar-red); }

/* Availability is still represented by the original divs and native radios. */
body.pitlane #booking-calendar .booking-times-panel > header {
  margin: 0 0 17px;
  padding: 0 0 14px;
  border-bottom: 1px solid var(--calendar-line);
}
body.pitlane #booking-calendar #booking-day-label {
  display: block;
  clear: none;
  width: auto;
  height: auto;
  margin: 0 0 5px;
  padding: 0;
  color: var(--calendar-ink);
  background: none;
  font: 700 20px/1.35 Arial, Helvetica, sans-serif;
  letter-spacing: -.4px;
  text-align: left;
  overflow-wrap: anywhere;
}
body.pitlane #booking-calendar #booking-day-hint {
  display: block;
  clear: none;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  color: var(--calendar-muted);
  background: none;
  font: 12px/1.6 Arial, Helvetica, sans-serif;
  text-align: left;
}
body.pitlane #booking-calendar .booking-time-groups { display: grid; gap: 18px; min-width: 0; }
body.pitlane #booking-calendar .booking-time-group { min-width: 0; margin: 0; padding: 0; }
body.pitlane #booking-calendar .booking-time-group h4 {
  display: block;
  clear: none;
  width: auto;
  height: auto;
  margin: 0 0 9px;
  padding: 0;
  color: #747c76;
  background: none;
  font: 700 10px/1.5 Arial, Helvetica, sans-serif;
  letter-spacing: .8px;
  text-transform: uppercase;
  text-align: left;
}
body.pitlane #booking-calendar .booking-slots {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
}
body.pitlane #booking-calendar div.foglalas.booking-slot {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 0;
  float: none;
  clear: none;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 44px;
  height: auto;
  margin: 0;
  padding: 11px 4px;
  border: 1px solid #d9dfd7;
  border-radius: 4px;
  background: #fff;
  box-shadow: none;
  color: var(--calendar-ink);
  line-height: 1.5;
  text-align: center;
  cursor: pointer;
}
body.pitlane #booking-calendar div.foglalas.booking-slot > span.foglalas {
  display: block;
  float: none;
  clear: none;
  width: 100%;
  min-width: 0;
  min-height: 0;
  height: auto;
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
  color: inherit;
  line-height: 1.5;
}
body.pitlane #booking-calendar div.foglalas.booking-slot > span.foglalas label {
  display: block;
  float: none;
  clear: none;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  color: inherit;
  font: 700 13px/1.5 Arial, Helvetica, sans-serif;
  text-align: center;
  cursor: inherit;
}
body.pitlane #booking-calendar div.foglalas.booking-slot > span.foglalas:last-child { display: none; }
body.pitlane #booking-calendar div.foglalas.booking-slot > input.foglalas[type=radio] {
  position: absolute;
  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
  box-shadow: none;
}
body.pitlane #booking-calendar div.foglalas.booking-slot:not(.foglalt):not(.is-selected):hover {
  border-color: #e8a99d;
  background: #fff4ef;
  color: var(--calendar-red);
}
body.pitlane #booking-calendar div.foglalas.booking-slot:focus-within {
  outline: 3px solid #168cdb;
  outline-offset: 3px;
}
body.pitlane #booking-calendar div.foglalas.booking-slot:is(.is-selected, :has(input:checked)) {
  border-color: var(--calendar-red);
  background: var(--calendar-red);
  color: #fff;
  box-shadow: 0 2px 5px #d91f121a;
}
body.pitlane #booking-calendar div.foglalas.booking-slot.foglalt {
  border-color: #e4e7df;
  background: #edf0e9;
  color: #919990;
  box-shadow: none;
  cursor: default;
}
body.pitlane #booking-calendar div.foglalas.booking-slot.foglalt label { text-decoration: line-through; text-decoration-thickness: 1px; }
body.pitlane #booking-calendar .calendar-empty {
  display: block;
  clear: both;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 23px 16px;
  border: 1px dashed #d9dfd5;
  border-radius: 5px;
  color: var(--calendar-muted);
  background: #f4f6f0;
  font: 13px/1.7 Arial, Helvetica, sans-serif;
  text-align: center;
}

/* Selection summary links back to the existing details form. */
body.pitlane #booking-calendar .booking-selection {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 20px;
  width: 100%;
  margin: 20px 0 0;
  padding: 16px 18px;
  border: 1px solid #e3e7dd;
  border-left: 3px solid var(--calendar-red);
  border-radius: 4px;
  background: var(--calendar-soft);
  text-align: left;
}
body.pitlane #booking-calendar .booking-selection > div { flex: 1 1 230px; min-width: 0; }
body.pitlane #booking-calendar .booking-selection p.calendar-eyebrow { margin-bottom: 3px; }
body.pitlane #booking-calendar #booking-selected-label {
  display: block;
  width: auto;
  margin: 0;
  padding: 0;
  color: var(--calendar-ink);
  font: 700 16px/1.5 Arial, Helvetica, sans-serif;
  overflow-wrap: anywhere;
}
body.pitlane #booking-calendar .booking-selection > div > span {
  display: block;
  width: auto;
  margin: 3px 0 0;
  padding: 0;
  color: var(--calendar-muted);
  font: 11px/1.6 Arial, Helvetica, sans-serif;
}
body.pitlane #booking-calendar .calendar-details-link {
  display: inline-flex;
  flex: 0 1 auto;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: auto;
  min-height: 44px;
  height: auto;
  margin: 0;
  padding: 11px 17px;
  color: #fff;
  background: var(--calendar-red);
  border: 1px solid var(--calendar-red);
  border-radius: 4px;
  font: 700 12px/1.6 Arial, Helvetica, sans-serif;
  text-indent: 0;
  text-align: center;
  white-space: normal;
  cursor: pointer;
}
body.pitlane #booking-calendar .calendar-details-link::after { content: '↑'; font-size: 17px; line-height: 1; }
body.pitlane #booking-calendar .calendar-details-link:hover:not(:disabled) { color: #fff; background: #b91b10; border-color: #b91b10; }
body.pitlane #booking-calendar .calendar-details-link:disabled { color: #7f897f; background: #e2e6dd; border-color: #e2e6dd; cursor: default; }

@media (max-width: 1000px) and (min-width: 761px) {
  body.pitlane #booking-calendar { padding: 18px; }
  body.pitlane #booking-calendar .booking-calendar-layout { gap: 16px; }
  body.pitlane #booking-calendar :is(.booking-month-panel, .booking-times-panel) { padding: 12px; }
  body.pitlane #booking-calendar .booking-slots { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
}
@media (max-width: 760px) {
  body.pitlane #booking-calendar { padding: 16px; margin-top: 14px; }
  body.pitlane #booking-calendar .booking-calendar-heading { gap: 10px; margin-bottom: 16px; }
  body.pitlane #booking-calendar .booking-calendar-heading > div { flex-basis: calc(100% - 52px); }
  body.pitlane #booking-calendar .booking-calendar-heading h2 { font-size: 21px; }
  body.pitlane #booking-calendar .calendar-location { margin-left: 52px; padding-top: 5px; padding-bottom: 5px; }
  body.pitlane #booking-calendar .booking-calendar-layout { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  body.pitlane #booking-calendar :is(.booking-month-panel, .booking-times-panel) { padding: 14px; }
  body.pitlane #booking-calendar .booking-days { grid-auto-rows: minmax(58px, auto); }
  body.pitlane #booking-calendar .calendar-day { min-height: 58px; }
  body.pitlane #booking-calendar .booking-slots { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.pitlane #booking-calendar .booking-selection { margin-top: 16px; padding: 14px; gap: 12px; }
  body.pitlane #booking-calendar .booking-selection > div { flex-basis: 100%; }
  body.pitlane #booking-calendar .calendar-details-link { width: 100%; }
}
@media (max-width: 420px) {
  body.pitlane #booking-calendar { padding: 12px; border-radius: 6px; }
  body.pitlane #booking-calendar .booking-calendar-heading::before { flex-basis: 36px; width: 36px; height: 36px; background-size: 20px; }
  body.pitlane #booking-calendar .booking-calendar-heading > div { flex-basis: calc(100% - 46px); }
  body.pitlane #booking-calendar .booking-calendar-heading h2 { font-size: 19px; }
  body.pitlane #booking-calendar .calendar-location { margin-left: 46px; }
  body.pitlane #booking-calendar :is(.booking-month-panel, .booking-times-panel) { padding: 11px; }
  body.pitlane #booking-calendar .booking-month-toolbar { grid-template-columns: 36px minmax(0, 1fr) 36px; gap: 5px; margin-bottom: 14px; }
  body.pitlane #booking-calendar :is(.calendar-month-prev, .calendar-month-next) { width: 36px; min-width: 36px; height: 40px; }
  body.pitlane #booking-calendar #booking-month-label { font-size: 16px; }
  body.pitlane #booking-calendar .booking-days { gap: 4px; grid-auto-rows: minmax(52px, auto); }
  body.pitlane #booking-calendar .booking-weekdays { gap: 4px; }
  body.pitlane #booking-calendar .calendar-day { min-height: 52px; padding: 6px 1px; font-size: 14px; }
  body.pitlane #booking-calendar .calendar-day-count { gap: 2px; font-size: 8px; }
  body.pitlane #booking-calendar .calendar-day-count::before { flex-basis: 3px; width: 3px; height: 3px; }
  body.pitlane #booking-calendar .calendar-legend { gap: 6px 10px; }
  body.pitlane #booking-calendar .calendar-legend > span { font-size: 9px; }
  body.pitlane #booking-calendar #booking-day-label { font-size: 18px; }
  body.pitlane #booking-calendar .booking-slots { gap: 7px; }
  body.pitlane #booking-calendar .booking-selection { padding: 12px; }
  body.pitlane #booking-calendar #booking-selected-label { font-size: 15px; }
}
@media (max-width: 350px) {
  body.pitlane #booking-calendar { padding: 10px; }
  body.pitlane #booking-calendar :is(.booking-month-panel, .booking-times-panel) { padding: 8px; }
  body.pitlane #booking-calendar .booking-days, body.pitlane #booking-calendar .booking-weekdays { gap: 3px; }
  body.pitlane #booking-calendar .calendar-day { font-size: 13px; }
  body.pitlane #booking-calendar .calendar-day-count { font-size: 8px; }
  body.pitlane #booking-calendar .calendar-day-count::before { display: none; }
  body.pitlane #booking-calendar .booking-slots { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Match the inline icons and heading copy in the shared calendar markup. */
body.pitlane #booking-calendar svg{display:block;flex:none;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
body.pitlane #booking-calendar .calendar-location::before{display:none}
body.pitlane #booking-calendar .booking-calendar-heading p:not(.calendar-eyebrow){display:block;float:none;clear:none;width:auto;height:auto;margin:5px 0 0;padding:0;font:12px/1.6 Arial;color:var(--calendar-muted);text-align:left}

/* Availability proportion colors: classify actual counts before rounding. */
body.pitlane #booking-calendar .calendar-day.availability-high{--availability-fill:#e9f5ed;--availability-border:#cce4d4;--availability-ink:#2e6849}
body.pitlane #booking-calendar .calendar-day.availability-medium{--availability-fill:#fff7d7;--availability-border:#eaddaa;--availability-ink:#7a6524}
body.pitlane #booking-calendar .calendar-day.availability-low{--availability-fill:#fff0df;--availability-border:#edcfad;--availability-ink:#955b2d}
body.pitlane #booking-calendar .calendar-day:is(.availability-high,.availability-medium,.availability-low):not(.is-selected){background:var(--availability-fill);border-color:var(--availability-border);color:var(--availability-ink)}
body.pitlane #booking-calendar .calendar-day:is(.availability-high,.availability-medium,.availability-low):not(.is-selected) .calendar-day-count{color:var(--availability-ink)}
body.pitlane #booking-calendar .calendar-day:is(.availability-high,.availability-medium,.availability-low):not(.is-selected) .calendar-day-count::before{background:currentColor}
body.pitlane #booking-calendar .calendar-day:is(.availability-high,.availability-medium,.availability-low):hover:not(:disabled):not(.is-selected):not(.is-unavailable){background:var(--availability-fill);border-color:var(--availability-border);box-shadow:0 0 0 2px rgb(36 42 45 / 7%)}
body.pitlane #booking-calendar .calendar-day.is-today:not(.is-selected){border-color:#71839a}
body.pitlane #booking-calendar .calendar-day.is-selected{color:#fff;background:#2466d4;border-color:#1d58bd;box-shadow:0 2px 7px #2466d42b}
body.pitlane #booking-calendar .calendar-day.is-selected .calendar-day-count{color:#fff}
body.pitlane #booking-calendar .calendar-legend .legend-high i{background:#e9f5ed;border-color:#8cba9c}
body.pitlane #booking-calendar .calendar-legend .legend-medium i{background:#fff7d7;border-color:#c4ad61}
body.pitlane #booking-calendar .calendar-legend .legend-low i{background:#fff0df;border-color:#ce9b68}
body.pitlane #booking-calendar .calendar-legend .legend-selected i{background:#2466d4;border-color:#1d58bd}

/* Full days are distinct from the low availability band; selected days stay blue. */
body.pitlane #booking-calendar .calendar-day.is-unavailable:not(.is-full){--availability-fill:#f5f6f2;--availability-border:#eef0eb;--availability-ink:#8a938b}
body.pitlane #booking-calendar .calendar-day.is-full{--availability-fill:#fde8e6;--availability-border:#e9aba5;--availability-ink:#aa2b23}
body.pitlane #booking-calendar .calendar-legend .legend-full i{background:#fde8e6;border-color:#c85348}
