// main: ../main.scss
/*--------------------------------------------------------------
# Schedule Section
--------------------------------------------------------------*/
.schedule {
  background-color: color-mix(in srgb, var(--accent-color), transparent 97%);

  .schedule-header {
    margin-bottom: 60px;

    .nav-tabs {
      display: flex;
      justify-content: center;
      gap: 12px;
      margin-bottom: 40px;
      flex-wrap: wrap;
      border-bottom: none;

      .nav-item {
        .nav-link {
          background: var(--surface-color);
          border: 2px solid color-mix(in srgb, var(--default-color), transparent 85%);
          border-radius: 16px;
          padding: 20px 28px;
          cursor: pointer;
          transition: all 0.3s ease;
          text-align: center;
          box-shadow: 0 4px 12px color-mix(in srgb, var(--default-color), transparent 92%);
          color: var(--default-color);
          white-space: nowrap;

          &:hover {
            border-color: var(--accent-color);
            transform: translateY(-2px);
            box-shadow: 0 8px 20px color-mix(in srgb, var(--accent-color), transparent 85%);
          }

          &.active {
            background: var(--accent-color);
            border-color: var(--accent-color);
            color: var(--contrast-color);
          }
        }
      }
    }

    @media (max-width: 768px) {
      .nav-tabs {
        .nav-item {
          .nav-link {
            padding: 16px 20px;
          }
        }
      }
    }
  }

  .schedule-content {
    .session-timeline {
      max-width: 1200px;
      margin: 0 auto;
      position: relative;

      .session-block {
        display: flex;
        margin-bottom: 32px;
        position: relative;
        width: 100%;

        .session-time {
          width: 100px;
          flex-shrink: 0;
          padding-right: 20px;
          text-align: right;
          position: relative;

          &::after {
            content: '';
            position: absolute;
            right: -11px;
            top: 8px;
            width: 20px;
            height: 20px;
            background: var(--accent-color);
            border-radius: 50%;
            border: 3px solid var(--surface-color);
            box-shadow: 0 2px 8px color-mix(in srgb, var(--default-color), transparent 85%);
          }

          .start {
            display: block;
            font-size: 16px;
            font-weight: 600;
            color: var(--heading-color);
            margin-bottom: 2px;
          }

          .end {
            display: block;
            font-size: 13px;
            color: color-mix(in srgb, var(--default-color), transparent 40%);
          }
        }

        .session-card {
          flex: 1;
          background: var(--surface-color);
          border-radius: 16px;
          padding: 28px;
          margin-left: 20px;
          box-shadow: 0 4px 20px color-mix(in srgb, var(--default-color), transparent 92%);
          border: 1px solid color-mix(in srgb, var(--default-color), transparent 90%);
          transition: all 0.3s ease;
          display: flex;
          align-items: flex-start;
          gap: 20px;

          &:hover {
            transform: translateY(-4px);
            box-shadow: 0 8px 30px color-mix(in srgb, var(--default-color), transparent 85%);
          }

          &.break-card {
            background: color-mix(in srgb, var(--accent-color), transparent 95%);
            border-color: color-mix(in srgb, var(--accent-color), transparent 80%);

            .session-title {
              color: var(--accent-color);
            }
          }

          .session-info {
            flex: 1;

            .session-meta {
              display: flex;
              align-items: center;
              gap: 12px;
              margin-bottom: 12px;

              .track {
                padding: 4px 12px;
                border-radius: 20px;
                font-size: 12px;
                font-weight: 600;
                text-transform: uppercase;
                letter-spacing: 0.5px;

                &.keynote {
                  background: color-mix(in srgb, #ff6b6b, transparent 85%);
                  color: #ff6b6b;
                }

                &.development {
                  background: color-mix(in srgb, #4ecdc4, transparent 85%);
                  color: #4ecdc4;
                }

                &.design {
                  background: color-mix(in srgb, #45b7d1, transparent 85%);
                  color: #45b7d1;
                }

                &.business {
                  background: color-mix(in srgb, #f7931e, transparent 85%);
                  color: #f7931e;
                }

                &.break {
                  background: color-mix(in srgb, var(--accent-color), transparent 85%);
                  color: var(--accent-color);
                }
              }

              .room {
                font-size: 13px;
                color: color-mix(in srgb, var(--default-color), transparent 40%);
                font-weight: 500;
              }
            }

            .session-title {
              font-size: 20px;
              font-weight: 600;
              color: var(--heading-color);
              margin-bottom: 12px;
              line-height: 1.3;
            }

            .session-description {
              font-size: 14px;
              color: var(--default-color);
              line-height: 1.6;
              margin-bottom: 16px;
            }

            .speaker-info {
              display: flex;
              align-items: center;
              gap: 12px;

              .speaker-avatar {
                width: 40px;
                height: 40px;
                border-radius: 50%;
                object-fit: cover;
              }

              .speaker-details {
                .speaker-name {
                  font-size: 14px;
                  font-weight: 600;
                  color: var(--heading-color);
                  margin: 0 0 2px 0;
                }

                .speaker-role {
                  font-size: 12px;
                  color: color-mix(in srgb, var(--default-color), transparent 40%);
                }
              }
            }
          }

          .add-to-schedule {
            background: color-mix(in srgb, var(--accent-color), transparent 90%);
            border: 1px solid color-mix(in srgb, var(--accent-color), transparent 70%);
            border-radius: 12px;
            padding: 12px 16px;
            color: var(--accent-color);
            font-size: 13px;
            font-weight: 500;
            cursor: pointer;
            transition: all 0.3s ease;
            white-space: nowrap;
            align-self: flex-start;

            i {
              margin-right: 6px;
            }

            &:hover {
              background: var(--accent-color);
              color: var(--contrast-color);
            }
          }
        }

        &.keynote {
          .session-time::after {
            background: #ff6b6b;
          }
        }

        &.development {
          .session-time::after {
            background: #4ecdc4;
          }
        }

        &.design {
          .session-time::after {
            background: #45b7d1;
          }
        }

        &.business {
          .session-time::after {
            background: #f7931e;
          }
        }

        &.break {
          .session-time::after {
            background: var(--accent-color);
          }
        }
      }

      @media (max-width: 768px) {
        &::before {
          left: 80px;
        }

        .session-block {
          .session-time {
            width: 70px;

            &::after {
              right: -9px;
              width: 16px;
              height: 16px;
            }

            .start {
              font-size: 14px;
            }
          }

          .session-card {
            padding: 20px;
            margin-left: 16px;
            flex-direction: column;
            gap: 16px;

            .session-title {
              font-size: 18px;
            }

            .add-to-schedule {
              align-self: stretch;
              text-align: center;
            }
          }
        }
      }
    }
  }

  .schedule-actions {
    text-align: center;
    margin-top: 60px;
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;

    .btn {
      padding: 14px 28px;
      border-radius: 12px;
      font-weight: 500;
      text-decoration: none;
      transition: all 0.3s ease;
      display: inline-flex;
      align-items: center;
      gap: 8px;

      i {
        font-size: 16px;
      }

      &.btn-primary {
        background: var(--accent-color);
        color: var(--contrast-color);
        border: 1px solid var(--accent-color);

        &:hover {
          background: color-mix(in srgb, var(--accent-color), black 10%);
          transform: translateY(-2px);
          box-shadow: 0 8px 20px color-mix(in srgb, var(--accent-color), transparent 70%);
        }
      }

      &.btn-outline {
        background: transparent;
        color: var(--accent-color);
        border: 1px solid var(--accent-color);

        &:hover {
          background: var(--accent-color);
          color: var(--contrast-color);
          transform: translateY(-2px);
        }
      }
    }

    @media (max-width: 576px) {
      .btn {
        flex: 1;
        justify-content: center;
      }
    }
  }
}