/* Teesside-specific styles */
.school-details {
  max-width: 1200px;
  margin: auto;
  padding: 20px;
  margin-top: 40px;
}

.school-details h1 {
  font-size: 2rem;
  text-align: center;
  margin-bottom: 10px;
}

.school-details p {
  font-size: 1rem;
  text-align: center;
  margin-bottom: 20px;
}

/* Container for Teesside University logo */
.teeside-logo-container {
  max-width: 100%;
  margin: auto;
    text-align: center;       /* Centers the content horizontally */
    border: 1px solid #ddd;   /* Optional border */
    border-radius: 8px;       /* Optional rounded corners */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Optional subtle shadow */;
  }
  
  /* Teesside University logo image styling */
  .teeside-logo {
    max-width: 80%;           /* Adjust as needed for a "huge" look */
    height: auto;             /* Maintain aspect ratio */
    display: inline-block;    /* Ensures proper centering */
    margin: 30px;
  }
  
  
  
  /* Container that holds both the text and the link */
  .info-link-bar {
    display: inline-block;       /* Keep text + link on one line for larger screens */
    text-align: left;          /* Center content horizontally */
    white-space: nowrap;         /* Prevent line breaks for larger screens */
    transition: transform 0.3s ease;  /* Smooth hover effect if desired */
  }
  
  /* Text inside the bar */
  .info-text {
    font-size: 16px;
    font-weight: 500;
    color: #333;
    margin: auto;
     text-align:justify; text-justify:inter-word; line-height:1.6; text-align-last:left;
  }
  
  /* The clickable link */
  .dynamic-link {
    color: #0300a7;
    font-weight: bold;
    text-decoration: none;
    transition: color 0.3s ease;
  }
  
  .info-link:hover {
    color: #1c5980;
  text-decoration: underline;
  }

 /* Screen-reader only helper */
.sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0);
  white-space: nowrap; border: 0;
}

/* Keep your original program-header look but make it clickable */
.program-header {
  width: 95%;
  background: linear-gradient(45deg, #0000c2, #16115e);
  color: #ffffff;
  border-radius: 6px;
  text-align: center;
  padding: 28px 20px;
  margin: 20px auto;
  margin-top: 50px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.1);
  position: relative;
  cursor: pointer;                /* indicates clickable */
  outline: none;
}

/* Heading text centered */
.program-header h2 {
  margin: 0;
  font-size: 28px;
  font-weight: 700;
  color: #fff;
}

/* Toggle button pinned to the right of the header */
.program-toggle {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
  border: 1px solid rgba(255,255,255,0.06);
  color: #fff;
  padding: 10px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  cursor: pointer;
  transition: transform .18s cubic-bezier(.2,.9,.2,1), box-shadow .18s ease, background .18s ease;
  box-shadow: 0 6px 18px rgba(0,0,0,0.12), inset 0 -2px 6px rgba(0,0,0,0.04);
}

.program-toggle:hover { transform: translateY(-50%) scale(1.05); box-shadow: 0 10px 28px rgba(0,0,0,0.14); }

/* Focus ring for heading */
.program-header:focus {
  outline: 3px solid rgba(255,65,108,0.14);
  outline-offset: 4px;
  box-shadow: 0 10px 28px rgba(0,0,0,0.12);
  border-radius: 6px;
}

/* Chevron icon styles */
.program-toggle .chev {
  display: block;
  transition: transform .4s cubic-bezier(.2,.9,.2,1), filter .18s ease;
  color: #fff;
  filter: drop-shadow(0 4px 12px rgba(255, 65, 108, 0.12));
}

/* Rotate when expanded */
.program-toggle[aria-expanded="true"] .chev,
.program-header[aria-expanded="true"] .chev {
  transform: rotate(180deg) translateY(1px);
  filter: drop-shadow(0 6px 18px rgba(255, 65, 108, 0.18));
}

/* ---------- Collapsible gallery animation ---------- */
.course-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 20px;
  overflow: hidden;
  transition: max-height 0.45s cubic-bezier(.22,1,.36,1), opacity .35s ease;
  will-change: max-height, opacity;
  max-height: 9999px; /* non-JS fallback: open */
  opacity: 1;
}

/* collapsed state */
.course-gallery.is-collapsed {
  max-height: 0 !important;
  opacity: 0;
  padding-top: 0;
  padding-bottom: 0;
}

/* course card tweaks (kept from your original with small polish) */
.course-item {
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(10,10,10,0.04);
  text-align: center;
  transition: transform 0.28s cubic-bezier(.2,.9,.2,1), box-shadow 0.28s ease;
  overflow: hidden;
}



.course-item:hover { transform: translateY(-6px); box-shadow: 0 12px 28px rgba(18,20,24,0.08); }

.course-link {
  display: block;
  color: inherit;
  text-decoration: none;
  padding: 14px;
}

.course-img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
  display: block;
  margin: 0 auto 10px;
  border-radius: 8px;
  background: #f6f6f6;
}

.course-item h3 { font-size: 18px; margin: 10px 0; color: #222; }




  
  .teeside-accordion {
    width: 95%;
    margin: auto;
    font-family: 'Poppins', sans-serif;
  }
  
  /* Accordion Item Container */
.accordion-item {
    margin: 30px 0;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    overflow: hidden;
    font-family: Arial, sans-serif;
}

/* Clickable Header with Gradient Background */
.accordion-header {
  background: linear-gradient(45deg, #0000c2, #16115e);
  padding: 15px 20px;
  color: #ffffff;
  cursor: pointer;
  transition: background 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.accordion-header:hover {
  background: linear-gradient(45deg, #06005e, #0000c2); /* Reverse gradient on hover */
}

.accordion-header h2 {
  margin: 0;
  font-size: 1.5rem;
  color: #ffffff;
}

.accordion-header .arrow {
  font-size: 24px;
  transition: transform 0.3s ease;
}

/* Rotate arrow when the accordion is active */
.accordion-item.active .accordion-header .arrow {
  transform: rotate(180deg);
}

/* Collapsible Content with Transition */
.accordion-content {
  background: #ffffff;
  color: #333;
  border-top: 1px solid #ddd;
  padding: 20px;
  max-height: 0;
  transform: translateY(-10px);
  overflow: hidden;
  opacity: 0;
  align-items: center;
  transition: max-height 0.4s ease, opacity 0.4s ease, padding 0.4s ease;
}

.accordion-content h3 {
  margin-bottom: 10px;
}

.accordion-content ul {
  margin-bottom: 10px;
}

.accordion-content li {
  margin-bottom: 5px;
}

.accordion-content,
.accordion-content * {
  text-align: left !important;
}


/* Expanded State */
.accordion-item.active .accordion-content {
  opacity: 1;
  transform: translateY(0);
  max-height: 400px; /* Set visible height */
  overflow-y: auto;  /* Scroll inside when content exceeds max height */
  scroll-behavior: smooth;
}

/* Accordion Note */
.accordion-note {
  margin-top: 20px;
  font-size: 16px;
}

 .teeside-link {
  color: #0300a7;
  font-weight: bold;
  text-decoration: none;
  transition: color 0.3s ease;
}

.teeside-link:hover {
  color: #1c5980;
  text-decoration: underline;
}












  








/* Base styling for the About section of LEED Trinity University */
/* Base styles for LEED TRINITY UNIVERSITY page */
.school-page {
  max-width: 1200px;
  margin: auto;
  padding: 20px;
  text-align: left;
  margin-top: 40px;
}

.school-page h1 {
  font-size: 2rem;
  text-align: center;
  margin-bottom: 10px;
}

.school-page p {
  font-size: 1rem;
  text-align: center;
  margin-bottom: 20px;
}

.school-page .school-image img {
  width: 100%;
  margin: auto;
  height: auto;
  display: block;
  border-radius: 8px;
}

.school-about {
  padding: 20px;                /* Internal spacing */
  border-radius: 8px;           /* Rounded corners */
  background: #f9f9f9;    /* Light background */
  margin: 10px auto;            /* Center the box with vertical spacing */
  max-width: 100%;             /* Limit the width on larger screens */
}

.school-about h2 h3 {
  font-size: 24px;
  margin-bottom: 20px;
  color: #333;
  text-align: center;
}

.school-about p {
  font-size: 18px;
  line-height: 1.6;
  color: #000000;
  text-align: left;
   text-align:justify; text-justify:inter-word; line-height:1.6; text-align-last:left;
}
  
  /* Heading and paragraph styles with transitions */
  .school-major-courses h2 {
    text-align: center;
    margin-top: 50px;
    margin-bottom: 10px;
  }
  
  .school-major-courses p {
    font-size: 18px;
    color: #333;
    line-height: 1.6;
     text-align:justify; text-justify:inter-word; line-height:1.6; text-align-last:left;
  }


  .note-text {
  color: #161efd !important;  
  
  }
  

/* ---------- Accessibility helper (screen reader only) ---------- */
.sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0);
  white-space: nowrap; border: 0;
}

/* Container for each program section (kept your original values with small polish) */
.school-programs {
  margin: 40px 0;
  padding: 0 15px;
  --accent: #ff416c;
}

/* Heading: keep original feel but add toggle button to right */
.programs-heading {
  display: Flex;  
  cursor: pointer;
  align-items: center;
  justify-content: center;     /* keep title centered */
  gap: 12px;
  width: 95%;
  background: linear-gradient(45deg, #0a00c8fd, #04004d);
  color: #fff;
  border-radius: 6px;
  padding: 18px 20px;
  margin: 20px auto;
  position: relative;
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
  z-index: 2;
  pointer-events: auto;
}

.programs-heading:focus {
  outline: 3px solid rgba(255,65,108,0.14);
  outline-offset: 4px;
  box-shadow: 0 10px 28px rgba(0,0,0,0.12);
  border-radius: 6px;
}

/* Heading text sits centered */
.programs-heading h2 {
  margin: 0;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.2px;
  text-align: center;
  color: #fff;
}

/* Toggle button placed on the right inside the heading (keeps title centered) */
.program-toggle {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
  border: 1px solid rgba(255,255,255,0.06);
  color: #fff;
  padding: 10px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 46px;
  height: 46px;
  cursor: pointer;
  transition: transform .18s cubic-bezier(.2,.9,.2,1), box-shadow .18s ease, background .18s ease;
  box-shadow: 0 6px 18px rgba(0,0,0,0.12), inset 0 -2px 6px rgba(0,0,0,0.04);
}

.program-toggle:hover {
  transform: translateY(-50%) scale(1.05);
  box-shadow: 0 10px 28px rgba(0,0,0,0.16);
  background: linear-gradient(180deg, rgba(255,255,255,0.09), rgba(255,255,255,0.03));
}

/* Focus ring for keyboard users */
.program-toggle:focus {
  outline: 3px solid rgba(255,65,108,0.16);
  outline-offset: 4px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.18);
}

/* Chevron icon */
.program-toggle .chev {
  display: block;
  transition: transform .4s cubic-bezier(.2,.9,.2,1), filter .18s ease;
  color: #fff;
  filter: drop-shadow(0 4px 12px rgba(255, 65, 108, 0.12));
}

/* rotated when expanded */
.program-toggle[aria-expanded="true"] .chev {
  transform: rotate(180deg) translateY(1px);
  filter: drop-shadow(0 6px 18px rgba(255, 65, 108, 0.18));
}

.programs-heading .program-toggle {
  cursor: pointer;
}

/* ---------- Collapsible list animation ---------- */
/* base styles for the programs list (we keep items vertical as before) */
.programs-list {
  display: flex;
  flex-direction: column;
  gap: 30px;
  overflow: hidden;
  transition: max-height 0.45s cubic-bezier(.22,1,.36,1), opacity .35s ease;
  will-change: max-height, opacity;
  max-height: 9999px; /* default: open for no-js */
  opacity: 1;
  position: relative; z-index: 1; pointer-events: auto;
}

/* When JS adds .collapsed to the list (closed) we animate height to 0 */
.programs-list.is-collapsed {
  max-height: 0 !important;
  opacity: 0;
  padding-top: 0;
  padding-bottom: 0;
}

/* Each program item keep original style but slightly refined */
.program-item {
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 8px;
  padding: 18px;
  text-align: center;
  transition: transform 0.32s cubic-bezier(.2,.9,.2,1), box-shadow 0.32s ease;
  overflow: hidden;
}

.program-item:hover {
  transform: translateY(-6px);
  box-shadow: 0 14px 30px rgba(18, 20, 24, 0.08);
}

.program-image {
  width: 60%;
  height: 50%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 auto 12px;   /* centers the image */
  border-radius: 6px;
  background: #f6f6f6;
}

/* Program title styling */
.program-item h3 {
  font-size: 1.25rem;
  margin: 8px 0 0;
  color: #0b0b0b;
  font-weight: 700;
}

/* Program note styling */
.program-note {
  font-size: 0.95rem;
  font-weight: 500;
  color: #111;
  line-height: 1.5;
  text-align: left !important;
  margin: 6px 0 0;
}





body.page-manitoba-university .school-programs,
body.page-manitoba-university .school-programs * {
  box-sizing: border-box;
}

/* Wrapper only — no visible box here */
body.page-manitoba-university .school-programs .program-item {
  width: 100%;
  margin: 0 0 22px 0;
  padding: 0;
  border: 0;
  background: transparent;
  display: block;
  overflow: visible;
}

/* This is the only visible card */
body.page-manitoba-university .school-programs .course-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(100%, 760px);
  margin: 0 auto;
  padding: 18px;
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 8px;
  text-decoration: none;
  color: inherit;
  overflow: visible;
}

/* Image box inside the card */
body.page-manitoba-university .school-programs .program-media {
  width: min(100%, 420px);
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border-radius: 6px;
  margin: 0 auto 12px;
  background: #f6f6f6;
  flex-shrink: 0;
}

body.page-manitoba-university .school-programs .program-image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  margin: 0;
}

body.page-manitoba-university .school-programs .course-link h3 {
  margin: 0;
  text-align: center;
  line-height: 1.3;
}

/* Note sits below the card, with no box */
body.page-manitoba-university .school-programs .program-note {
  width: min(100%, 760px);
  margin: 10px auto 0;
  padding: 0 18px;
  background: transparent;
  border: 0;
  text-align: center;
  line-height: 1.5;
}






/* ==== Base Styles ==== */
.degree-steps {
  max-width: 800px;
  margin: 60px auto;
  padding: 0 20px;
  font-family: Arial, sans-serif;
}
.degree-steps__title {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 1.5em;
}
.degree-steps__group {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.step-item {
  margin-bottom: 16px;        /* adds vertical spacing between each item */
}

/* Step Item Separator */
.step-item + .step-item {
  border-top: 1px solid #e0e0e0;
}

/* Header */
.step-header {
  width: 100%;
  background: linear-gradient(45deg, #0a00c8fd, #04004d);
  color: #fff;
  padding: 15px 20px;
  font-size: 1.2rem;
  font-weight: bold;
  border: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  padding: 15px 20px 15px 20px;
  transition: background 0.3s ease;
  pointer-events: auto; 
}

.step-header .step-arrow {
  display: inline-block;
  width: 0.6em;
  height: 0.6em;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg);   /* points the chevron to the right */
  transition: transform 0.3s ease;
  margin-left: 0.5em;
}

.step-item.open .step-header .step-arrow {
  transform: rotate(135deg);  /* points the chevron down */
}

.step-header:hover {
  background: linear-gradient(45deg, #0a00c8fd, #04004d);
}
.step-arrow {
  display: inline-block;
  transition: transform 0.3s ease;
}

/* Body: half-height preview + scrollable */
.step-body {
  max-height: 150px;            /* half-height preview */
  overflow-y: auto;
  background: #fff;
  padding: 10px 20px;
  transition: max-height 0.4s ease, padding 0.4s ease;
}

.step-body::-webkit-scrollbar {
  width: 6px;
}
.step-body::-webkit-scrollbar-thumb {
  background: rgba(0,0,0,0.2);
  border-radius: 3px;
}

/* Expanded State: remove height limit and allow full content */
.step-item.open .step-body {
  max-height: none;      /* no more 150px cap */
  overflow: visible;     /* show everything, not scroll */
  padding: 15px 20px;
}

/* Rotate arrow when open */
.step-item.open .step-arrow {
  transform: rotate(180deg);
}

.step-p {
  text-align: left;
}


/* List & Note */
/* Remove default bullets and left padding */
.step-body ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

/* Space out list items */
.step-body li {
  position: relative;
  padding-left: 1.5em;      /* make room for custom marker */
  margin-bottom: 0.75em;
  line-height: 1.5;
  color: #333;
}

/* Custom marker: a small right‑pointing chevron */
.step-body li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.6em;                /* vertically center the chevron */
  width: 0.5em;
  height: 0.5em;
  border-right: 2px solid #2980B9;
  border-bottom: 2px solid #2980B9;
  transform: rotate(45deg);  /* chevron pointing right */
}

/* On hover, change marker color */
.step-body li:hover::before {
  border-color: #1c5980;
}

.step-note {
  margin-top: 1em;
  color: #555;
}



/* Admission note — professional, left-aligned block */
.admission-note {
  text-align: left ;
}

/* Paragraph spacing */
.admission-note p {
  text-align: left ;
}

/* List styling */
.admission-note ul {
  list-style: disc outside;
}


/* Additional Information Section for LEED Trinity University */
.school-additional-info {
  background: linear-gradient(45deg, #f0f0f0, #fff9f9);
  padding: 30px;
  margin-top: 40px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  font-size: 1rem;
  color: #000000;
}

.school-additional-info p {
  margin-bottom: 20px;
  line-height: 1.6;
}

/* Dynamic Link Styling */
.school-link {
  color: #0300a7;
  font-weight: bold;
  text-decoration: none;
  transition: color 0.3s ease;
}

.school-additional-info a.school-link:hover,
.school-additional-info a.school-link:focus {
  color: #1c5980;
  text-decoration: underline;
}

/* Collapsible Section Container */
.collapsible-section {
  margin: 30px 0;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  overflow: hidden;
  text-align: left;
}

/* Header with gradient background (not a link) */
.collapsible-header {
  background: linear-gradient(45deg, #0c0cc3, #16115e);
  padding: 15px 20px;
  cursor: pointer;
  transition: background 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.collapsible-header:hover {
  background: linear-gradient(45deg, #16115e, #0c0cc3); /* Reverse gradient on hover */
}

.collapsible-header h3 {
  margin: 0;
  font-size: 1.5rem;
  color: #fff;
  text-align: left;  /* Force header text left */
  flex: 1;           /* Allow h3 to take available space */
}

.collapsible-header .arrow {
  font-size: 1.5rem;
  color: #fff;
  transition: transform 0.3s ease;
}

/* Collapsible Content Styling */
.collapsible-content {
  background: #fff;
  padding: 20px;
  text-align: left;
  transition: max-height 0.5s ease, opacity 0.5s ease, transform 0.5s ease;
  opacity: 0;
  transform: translateY(-10px);
  max-height: 0; /* Collapsed */
  overflow: hidden;
  align-items: center;
}

.collapsible-content h3 {
  margin-bottom: 10px;
}

.collapsible-content ul {
  margin-bottom: 10px;
}

.collapsible-content li {
  margin-bottom: 5px;
}

.collapsible-content,
.collapsible-content * {
  text-align: left !important;
}

/* When expanded */
.collapsible-content:not(.hidden) {
  opacity: 1;
  transform: translateY(0);
  max-height: 400px; /* Set visible height */
  overflow-y: auto;  /* Scroll inside when content exceeds max height */
  scroll-behavior: smooth;
}

/* Custom Scrollbar for better look */
.collapsible-content::-webkit-scrollbar {
  width: 8px;
}

.collapsible-content::-webkit-scrollbar-thumb {
  background-color: #ccc;
  border-radius: 4px;
}


.red-text {
  color: rgb(116, 0, 0);
}

.blue-text {
  color: rgb(0, 3, 101);
}

/* Dynamic Link Styling: Always using a linear gradient background */
.dynamic-link {
  color: #0300a7;
  font-weight: bold;
  text-decoration: none;
  transition: color 0.3s ease;
}

.dynamic-link:hover,
.dynamic-link:focus {
  color: #1c5980;
  text-decoration: underline;
}




































































/* Responsive Media Queries */

/* Mobile Devices (up to 600px) */
@media (max-width: 600px) {
  .school-details {
    margin-top: 40px;
    padding: 5px;
  }

    .course-gallery { grid-template-columns: 1fr; gap: 16px; }
  .program-toggle { right: 12px; width: 42px; height: 42px; }
  .program-header { padding: 20px; margin-top: 30px; }
  .accordion-header {
    padding: 12px 15px;
  }
  .accordion-header h2 {
    font-size: 20px;
  }
  .accordion-header .arrow {
    font-size: 20px;
  }
  .accordion-content {
    padding: 15px 15px;
  }
  .accordion-note {
    font-size: 14px;
  }













  .school-page {
    padding: 5px;
    margin: auto;
    margin-top: 40px;
  }
  
  .school-page h1 {
    font-size: 1.5rem;
  }
  
  .school-page p {
    font-size: 0.9rem;
  }

  .school-about {
    padding: 20px;
  }
  .school-about h2 {
    font-size: 1.5rem;
  }
  .school-about p {
    font-size: 0.95rem;
  }
  .school-about-link {
    font-size: 0.9rem;
    padding: 10px 20px;
  }
  .programs-heading { padding: 14px; }
  .program-toggle { right: 12px; width: 42px; height: 42px; }
  .programs-list { gap: 20px; }
    .program-item {
    padding: 14px;
  }

  .program-image {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    display: block;
    margin: 0 0 12px 0;
    border-radius: 6px;
    background: #f6f6f6;
  }
  .program-item h3 { font-size: 1.3rem; }
  .program-note { font-size: 0.95rem; }
    .degree-steps {
    padding: 0 10px;
  }
  .degree-steps__title {
    font-size: 1.5rem;
    margin-bottom: 1em;
  }
  .step-header {
    font-size: 1rem;
    padding: 12px 15px;
  }
  .step-header .step-arrow {
    width: 0.5em;
    height: 0.5em;
    margin-left: 0.3em;
  }
  .step-body {
    max-height: 120px;
    padding: 8px 15px;
  }
  .step-item.open .step-body {
    padding: 12px 15px;
  }
  .step-body li {
    font-size: 14px;
    padding-left: 1.3em;
  }
  .step-note {
    font-size: 14px;
  }
  .school-additional-info {
    padding: 5px;
    font-size: 0.95rem;
  }
  .school-link {
    font-size: 0.9rem;
  }
  .collapsible-header {
    padding: 12px 15px;
  }
  .collapsible-header h3 {
    font-size: 1.3rem;
  }
  .collapsible-header .arrow {
    font-size: 1.3rem;
  }
  .collapsible-content {
    padding: 15px;
  }
  /* Collapsible Section Container */
.collapsible-section {
  margin: 30px 0;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  overflow: hidden;
  text-align: left;
}

/* Header with gradient background (not a link) */
.collapsible-header {
  background: linear-gradient(45deg, #0c0cc3, #16115e);
  padding: 15px 20px;
  cursor: pointer;
  transition: background 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.collapsible-header:hover {
  background: linear-gradient(45deg, #16115e, #0c0cc3); /* Reverse gradient on hover */
}

.collapsible-header h3 {
  margin: 0;
  font-size: 1.5rem;
  color: #fff;
  text-align: left;  /* Force header text left */
  flex: 1;           /* Allow h3 to take available space */
}

.collapsible-header .arrow {
  font-size: 1.5rem;
  color: #fff;
  transition: transform 0.3s ease;
}

/* Collapsible Content Styling */
.collapsible-content {
  background: #fff;
  padding: 20px;
  text-align: left;
  transition: max-height 0.5s ease, opacity 0.5s ease, transform 0.5s ease;
  opacity: 0;
  transform: translateY(-10px);
  max-height: 0; /* Collapsed */
  overflow: hidden;
  align-items: center;
}

.collapsible-content h3 {
  margin-bottom: 10px;
}

.collapsible-content ul {
  margin-bottom: 10px;
}

.collapsible-content li {
  margin-bottom: 5px;
}

.collapsible-content,
.collapsible-content * {
  text-align: left !important;
}

/* When expanded */
.collapsible-content:not(.hidden) {
  opacity: 1;
  transform: translateY(0);
  max-height: 400px; /* Set visible height */
  overflow-y: auto;  /* Scroll inside when content exceeds max height */
  scroll-behavior: smooth;
}

/* Custom Scrollbar for better look */
.collapsible-content::-webkit-scrollbar {
  width: 8px;
}

.collapsible-content::-webkit-scrollbar-thumb {
  background-color: #ccc;
  border-radius: 4px;
}
}




 













/* Tablet Devices (601px to 900px) */
@media (min-width: 601px) and (max-width: 900px) {
  .school-details {
    margin-top: 0;
  }
  .accordion-header {
    padding: 14px 18px;
  }
  .accordion-header h2 {
    font-size: 22px;
  }
  .accordion-header .arrow {
    font-size: 22px;
  }
  .accordion-content {
    padding: 18px 18px;
  }
  .accordion-note {
    font-size: 15px;
  }






  .school-page {
    padding: 15px;
    margin-top: 40px;
  }
  
  .school-page h1 {
    font-size: 1.75rem;
  }
  
  .school-page p {
    font-size: 1rem;
  }
  .program-item h3 { font-size: 1.4rem; }
  .program-note { font-size: 1rem; }

      .degree-steps {
    padding: 0 15px;
  }
  .degree-steps__title {
    font-size: 1.7rem;
  }
  .step-header {
    font-size: 1.1rem;
    padding: 14px 18px;
  }
  .step-header .step-arrow {
    width: 0.55em;
    height: 0.55em;
    margin-left: 0.4em;
  }
  .step-body {
    max-height: 140px;
    padding: 9px 18px;
  }
  .step-item.open .step-body {
    padding: 14px 18px;
  }
  .step-body li {
    font-size: 15px;
    padding-left: 1.4em;
  }
  .step-note {
    font-size: 15px;
  }

  .school-additional-info {
    padding: 25px;
    font-size: 1rem;
  }
  .collapsible-header {
    padding: 14px 18px;
  }
  .collapsible-header h3 {
    font-size: 1.4rem;
  }
  .collapsible-header .arrow {
    font-size: 1.4rem;
  }
  .collapsible-content {
    padding: 18px;
  }
    .collapsible-content:not(.hidden) {
    max-height: 320px; /* Medium screen height */
  }

}
















/* Desktop Devices (901px and above) */
@media (min-width: 901px) {
  .school-page {
    padding: 20px;
    margin-top: 40px;
  }
  
  .school-page h1 {
    font-size: 2rem;
  }
  
  .school-page p {
    font-size: 1.1rem;
  }

  .school-about p {
  font-size: 18px;
  }

 .course-gallery { grid-template-columns: repeat(2, 1fr); }

}
