/* tutoring.css for From Zero to Zeta */

main.tutoring {
  padding: 2rem;
  max-width: 800px;
  margin: auto;
  text-align: center;
}

main.tutoring h1 {
  font-size: 2rem;
  margin-bottom: 1rem;
  color: var(--primary-color);
}

main.tutoring p {
  font-size: 1.15rem;
  margin-bottom: 2rem;
}

#launch-scheduler {
  background-color: var(--accent-color);
  color: white;
  border: none;
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  border-radius: 4px;
  cursor: pointer;
}

#launch-scheduler:hover {
  background-color: #3a0066;
}

.intro {
  text-align: center;
}

#scheduler-app {
  margin-top: 2rem;
  text-align: left;
}

.scheduler-step {
  margin-bottom: 2rem;
  padding: 1rem;
  border: 1px solid #ccc;
  border-radius: 6px;
  background-color: #f9f9f9;
}

.scheduler-step h2 {
  margin-bottom: 1rem;
  font-size: 1.5rem;
  color: var(--primary-color);
}

.scheduler-step ul {
  list-style: none;
  padding-left: 0;
}

.scheduler-step li {
  margin-bottom: 0.75rem;
}

.scheduler-step button {
  padding: 0.5rem 1rem;
  font-size: 1rem;
  margin-top: 1rem;
  cursor: pointer;
  background-color: var(--primary-color);
  color: white;
  border: none;
  border-radius: 4px;
}

.scheduler-step button:hover {
  background-color: #001f44;
}

.scheduler-controls {
  display: flex;
  gap: 1rem;
  margin-top: 2rem;
}

.scheduler-controls button {
  flex: 1;
  padding: 0.6rem 1rem;
  font-size: 1rem;
  border-radius: 4px;
  cursor: pointer;
  border: none;
}

.scheduler-controls .cancel {
  background-color: #002b5c;
  color: white;
}

.scheduler-controls .cancel:hover {
  background-color: #002b7c;
}

.scheduler-controls .back {
  background-color: #002b5c;
  color: white;
}

.scheduler-controls .back:hover {
  background-color: #002b7c;
}

/* pricing tables */
.pricing-table {
  margin: 2rem auto;
  border-collapse: collapse;
  width: 100%;
  max-width: 800px;
  background-color: #fefefe;
  box-shadow: 0 0 5px rgba(0,0,0,0.1);
}

.pricing-table h3 {
  text-align: left;
  margin-bottom: 0.5rem;
  color: var(--primary-color);
}

.pricing-table table {
  width: 100%;
  border: 1px solid #ccc;
}

.pricing-table th,
.pricing-table td {
  padding: 0.75rem 1rem;
  border: 1px solid #ccc;
  text-align: left;
}

.pricing-table th {
  background-color: #f0f0f0;
  font-weight: bold;
  color: var(--primary-color);
}

/* clickable row styles */
.clickable-row {
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.clickable-row:hover {
  background-color: #eef5ff;
}

.availability-table {
  border-collapse: collapse;
  width: 100%;
  table-layout: fixed;
}

.availability-table td {
  border: 1px solid #ccc;
  text-align: center;
  padding: 0.5rem;
  min-width: 60px;
  word-wrap: break-word;
  font-size: 0.9rem;
}

.availability-table tr:first-child td {
  font-weight: bold;
  background-color: #f0f0f0;
}

.availability-table .clickable-row {
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.availability-table .clickable-row:hover {
  background-color: #eef5ff;
}

.availability-table .selected {
  background-color: #cde8ff;
  font-weight: bold;
}

.availability-grid {
  display: flex;
  gap: 1rem;
  margin-top: 1rem;
  overflow-x: auto;
  padding-bottom: 1rem;
}

.day-column {
  display: flex;
  flex-direction: column;
  border: 1px solid #ccc;
  min-width: 110px;
  background: #f9f9f9;
  border-radius: 6px;
  overflow: hidden;
}

.day-header {
  background-color: #003366;
  color: white;
  text-align: center;
  padding: 0.5rem 0.25rem;
  font-weight: bold;
  border-bottom: 1px solid #ccc;
}

.time-block {
  padding: 0.5rem 0.25rem;
  border-top: 1px solid #ddd;
  text-align: center;
  font-size: 0.85rem;
  background-color: white;
  cursor: pointer;
  transition: background-color 0.2s;
}

.time-block:hover {
  background-color: #eef3ff;
}

.time-block.selected {
  background-color: #cde4ff;
  font-weight: bold;
  border-left: 3px solid #003366;
}

.time-block.hover-highlight {
  background-color: #d9f0ff;
  border-left: 3px solid #007acc;
  font-weight: bold;
}
