
.week-section {
  background-color: #f5f7fa;
  min-height: 1000px;
}

.week-title {
  font-family: 'Lobster', cursive;
  color: #9a379a;
  margin-bottom: 20px;
}

.week-container {
  display: flex;
  gap: 30px;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  align-items: flex-start;
}

.week-content {
  flex: 1 1 65%;
  min-width: 0;
}

.week-sidebar {
  flex: 0 0 30%;
  position: sticky;
  top: 20px;
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  align-self: flex-start;
  background-color: #f1e7fb;
  border: 2px solid #9d58b9;
  border-radius: 10px;
  padding: 20px;
}

.sidebar-title {
  margin: 0 0 15px 0;
  font-size: 1.15rem;
  color: #9d58b9;
  font-family: 'Ubuntu', sans-serif;
}

.sidebar-nav {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sidebar-nav li {
  margin-bottom: 10px;
  line-height: 1.6;
}

.sidebar-nav a {
  color: #4b0082;
  text-decoration: none;
  font-weight: 500;
  font-family: 'Georgia', serif;
  font-size: 0.95rem;
}

.sidebar-nav a:hover {
  text-decoration: underline;
  color: #9d58b9;
}

@media (max-width: 991px) {
  .week-container {
    flex-direction: column;
    max-width: 100%;
    padding: 0 15px;
  }

  .week-content {
    order: 2;
    width: 100%;
  }

  .week-sidebar {
    order: 1;
    max-height: none;
    width: 100%;
    position: static;
  }
}

.header {
  font-family: 'Ubuntu', sans-serif;
  color: #9d58b9; /* replace with exact color later */
  line-height: 1.6;
}

.text {
  font-family: 'Georgia', serif;
  font-weight: 90;
  max-width: 1000px;
  text-align: justify;
}
.steps {
  margin-left: 55px;
  font-family:Arial, Helvetica, sans-serif;
  font-weight: 200;
}

.note{
  margin-top: 20px;
  margin-bottom: 30px;
  max-width: 1000px;      /* desktop limit */
  width: 100%;           /* mobile-friendly */
  padding: 10px;
  font-family: 'Georgia', serif;
  background-color: rgb(209, 192, 228);
  border: 2px solid rgb(97, 47, 125);
  box-sizing: border-box;
}

.subheader {
  font-family: 'Ubuntu', sans-serif;
  color: #9d58b9; /* replace with exact color later */
  margin-bottom: 20px;
  font-size: 25px;
}
.image {
  max-width: 100%;   /* never overflow the screen */
  height: auto;      /* keep correct proportions */
  display: block;    /* removes weird inline spacing */
  margin-bottom: 20px;
  margin-top: 20px;
}


.sketchfab-embed-wrapper iframe {
  width: 500px;              /* make bigger */
  height: 500px;
  max-width: 95%;            /* responsive on small screens */
  border-radius: 12px;       /* optional: looks nicer */
  box-shadow: 0 10px 25px rgba(0,0,0,0.2);
}

.sketchfab-credit {
  text-align: center;
  font-size: 13px;
  margin-top: 80px;
}
.image-container {
  display: flex; /* Enables flexbox layout */
  gap: 20px;     /* Adds space between the images */
  justify-content: center; /* Centers the images within the container (optional) */
}

table {
        width: 100%;
        border-collapse: collapse;
        font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        border: 2px solid #4B0082;
        background-color: #ffffff;
    }
    
    th {
        background-color: #9d58b9;
        color: white;
        padding: 15px;
        border: 1px solid #E6E6FA; 
        text-transform: uppercase;
        letter-spacing: 1px;
        font-size: 1.2em;
    }
    
    td {
        padding: 12px;
        border: 1px solid #E6E6FA;
        text-align: center;
        color: #333;
    }

    .category {
        font-weight: bold;
        background-color: #F3E5F5;
        color: #4B0082;
        width: 20%;
        text-align: left;
        padding-left: 20px;
    }

    tr:nth-child(even) td:not(.category) {
        background-color: #FAF5FF;
    }

    .highlight-raster {
        color: #6A0DAD;
    }

    .highlight-vector {
        color: #6A0DAD;
    }
    .model-container {
  margin-top: 60px;          /* space from top */
  display: flex;
  justify-content: center;   /* center horizontally */
}

.image-container {
  display: flex; /* Enables flexbox layout */
  gap: 20px;     /* Adds space between the images */
  justify-content: center; /* Centers the images within the container (optional) */
}

.item {
  display: flex;
  flex-direction: column; /* Stacks text on top of image */
  align-items: center;    /* Centers text relative to the image */
  text-align: center;
}

.item img {
  max-width: 100%; /* Ensures images don't break the layout */
  height: auto;
}