  .c-tour-calendar__cal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}

.c-tour-calendar__month { margin: 0; }

.c-tour-calendar__nav-btn {
  background: rgb(var(--white));
  border: 1px solid rgb(var(--trueblue));
  color: rgb(var(--trueblue));
  padding: 0.25rem 0.625rem;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}

.c-tour-calendar__nav-btn:hover,
.c-tour-calendar__nav-btn:focus {
  background: rgb(var(--trueblue));
  border-color: rgb(var(--trueblue));
  color: rgb(var(--white));
}

.c-tour-calendar__nav-btn:disabled,
.c-tour-calendar__nav-btn[aria-disabled="true"] {
  opacity: 0.35;
  cursor: not-allowed;
  pointer-events: none;
}


/* Legend — pill badge, sits between header and grid
   ========================================================================== */

.c-tour-calendar__legend {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  font-size: 0.75rem;
  color: rgb(var(--midgrey));
  background: rgb(var(--alabaster));
  border: 1px solid #d0d0d0;
  border-radius: 2rem;
  padding: 0.3rem 0.875rem;
  list-style: none;
  margin: 0 0 0.75rem;
}

.c-tour-calendar__legend-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-bottom:0 !important;
}

.c-tour-calendar__dot--inline {
  width: 7px;
  height: 7px;
  flex-shrink: 0;
  border-radius: 50%;
  display: inline-block;
}


/* Calendar grid
   ========================================================================== */

.c-tour-calendar__grid {
  grid-template-columns: repeat(7, 1fr);
  grid-auto-rows: 1fr;
  gap: 4px;
}

.c-tour-calendar__dow {
  font-weight: 500;
  color: rgb(var(--midgrey));
  text-align: center;
  padding: 0.375rem 0;
  align-self: end;
}

.c-tour-calendar__day {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 52px;
  font-size: 0.875rem;
  line-height: 1;
  border: 1px solid transparent;
  background: transparent;
  margin: 0;
  width: 100%;
}

.c-tour-calendar__day--unavailable { color: rgb(var(--midgrey)); }

.c-tour-calendar__day--available {
  background: rgb(var(--white));
  border: 1px solid #d0d0d0;
  color: rgb(var(--darkslate));
  font-weight: 500;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.c-tour-calendar__day--available:hover {
  outline: 1px solid rgb(var(--trueblue));
  background: rgb(var(--trueblue));
  color: rgb(var(--white));
}

.c-tour-calendar__day--available:hover .c-tour-calendar__dot { background: rgb(var(--white)); }

.c-tour-calendar__day--available:focus {
  outline: 2px solid rgb(var(--trueblue));
  outline-offset: 2px;
  border-color: rgb(var(--trueblue));
}

/* Circle — selected only */
.c-tour-calendar__day-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  transition: background 0.15s ease;
}

.c-tour-calendar__day--selected {
  background: transparent;
  border-color: transparent;
  pointer-events: none;
}

.c-tour-calendar__day--selected .c-tour-calendar__day-inner {
  background: rgb(var(--deepcobalt));
  border-radius: 50%;
  color: rgb(var(--white));
}

.c-tour-calendar__day--selected .c-tour-calendar__dot { background: rgb(var(--white)); }

.c-tour-calendar__day-num { display: block; }


/* Dots
   ========================================================================== */

.c-tour-calendar__dot-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 2px;
  margin-top: 4px;
  min-height: 7px;
}

.c-tour-calendar__dot {
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
}

.c-tour-calendar__dot-overflow {
  font-size: 10px;
  font-weight: 700;
  color: rgb(var(--midgrey));
  line-height: 1;
  letter-spacing: -1px;
}

/* Dot colors */
.c-tour-calendar__dot--future-student  { background: rgb(var(--trueblue)); }
.c-tour-calendar__dot--nearly-full     { background: rgb(var(--rust)); }
.c-tour-calendar__dot--next-steps      { background: rgb(var(--rust)); }


/* Times panel
   ========================================================================== */

.c-tour-calendar__times-region { margin-top: 1.5rem; }

.c-tour-calendar__times-panel {
  border: 1px solid #d0d0d0;
  background: rgb(var(--white));
  overflow: hidden;
  padding: 0;
}

.c-tour-calendar__times-panel[hidden] { display: none; }

@keyframes c-tour-calendar-fadein {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}

.c-tour-calendar__times-panel { animation: c-tour-calendar-fadein 0.2s ease; }

.c-tour-calendar__times-heading {
  font-size: .85rem;
  font-weight:400;
  font-family:Roboto,sans serif, Arial !important;
  margin: 0;
  padding: 0.75rem 1rem;
  background: rgb(var(--deepcobalt));
  color: rgb(var(--white));
  border-bottom: 1px solid #d0d0d0;
text-align: center;
}

.c-tour-calendar__times-heading:focus {
  outline: 2px solid rgb(var(--trueblue));
  outline-offset: -2px;
}

.c-tour-calendar__times-date { color: rgb(var(--white)); }


/* Time slot list
   ========================================================================== */

.c-tour-calendar__time-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  list-style: none;
  margin: 0;
  padding: 1rem;
  gap: 0.5rem;
}

.c-tour-calendar__time-item { margin: 0; }

.c-tour-calendar__time-btn {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  padding: 0.625rem 0.75rem 0.625rem 1rem;
  background: rgb(var(--white));
  border: 1px solid #d0d0d0;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.c-tour-calendar__time-btn:hover {
  outline: 1px solid rgb(var(--trueblue));
  background: rgb(var(--alabaster));
}

.c-tour-calendar__time-btn:hover .c-tour-calendar__time-val { color: rgb(var(--trueblue)); }

.c-tour-calendar__time-btn:focus {
  outline: 2px solid rgb(var(--trueblue));
  outline-offset: 2px;
  border-color: rgb(var(--trueblue));
}

.c-tour-calendar__time-btn--full { opacity: 0.5; cursor: not-allowed; }

/* Nearly full — rust treatment on btn */

.c-tour-calendar__time-btn--nearly-full .c-tour-calendar__time-spots { color: rgb(var(--rust)); }

.c-tour-calendar__time-type-strip {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
}

.c-tour-calendar__time-type-strip.c-tour-calendar__dot--future-student  { background: rgb(var(--trueblue)); }
.c-tour-calendar__time-type-strip.c-tour-calendar__dot--nearly-full     { background: rgb(var(--rust)); }
.c-tour-calendar__time-type-strip.c-tour-calendar__dot--next-steps      { background: rgb(var(--rust)); }

.c-tour-calendar__time-val {
  font-size: 0.9375rem;
  font-weight: 500;
  color: rgb(var(--darkslate));
  line-height: 1.2;
}

.c-tour-calendar__time-spots {
  font-size: 0.75rem;
  color: rgb(var(--midgrey));
  margin-top: 3px;
}


/* Change date — keyboard/AT only, skip-nav pattern
   Hidden visually until focused; never shown to mouse users.
   ========================================================================== */

.c-tour-calendar__change-btn {
  display: inline-block;
  font-size: 0.875rem;
  color: rgb(var(--trueblue));
  border-color: rgb(var(--trueblue));
  white-space: nowrap;
  margin: 0 1rem 0.75rem;
}

.c-tour-calendar__change-btn:focus {
  outline: 2px solid rgb(var(--trueblue));
  outline-offset: 2px;
}

.c-tour-calendar__change-btn .fa {
  display: inline-block;
  transition: transform 0.3s ease;
}

.c-tour-calendar__change-btn:hover .fa,
.c-tour-calendar__change-btn:focus .fa {
  transform: translateX(-4px);
}

.tour-type {
	display:none;
	/*background:#f8f8f8;*/
	/*padding:10px;*/
	/*border:1px solid #d3d2d2;*/
}

.c-tour-calendar {
	/*border: 1px solid #d3d2d2;*/
    padding: 10px;
}

#tour-times-panel {
	border:none;
}

button.c-tour-calendar__time-btn {
	margin:0 .25rem !important;
}