/**
 * Site Branding Styles
 * Makes the site title bold and responsive
 */

/* Parent organization (College of Engineering) styling - matches college-name styling */
.parent-org {
  font-family: 'Metropolis', sans-serif !important;
  font-size: 16.75px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 26.13px !important;
  color: #18453b !important;
  margin-bottom: 0.25rem !important;
  padding-top: 12px !important; /* Default padding for smallest screens */
}

/* Desktop - Large screens */
@media (min-width: 1200px) {
  .parent-org {
    /* Font size is now fixed at 16.75px in the base rule */
    letter-spacing: 0.065rem !important;
    padding-top: 25px !important;
  }
}

/* Desktop - Medium screens */
@media (min-width: 992px) and (max-width: 1199px) {
  .parent-org {
    /* Font size is now fixed at 16.75px in the base rule */
    letter-spacing: 0.06rem !important;
    padding-top: 20px !important;
  }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 991px) {
  .parent-org {
    /* Font size is now fixed at 16.75px in the base rule */
    letter-spacing: 0.055rem !important;
    padding-top: 18px !important;
    padding-left: 0 !important;
  }
}

/* Mobile - Large */
@media (min-width: 576px) and (max-width: 767px) {
  .parent-org {
    /* Font size is now fixed at 16.75px in the base rule */
    letter-spacing: 0.05rem !important;
    padding-top: 15px !important;
    padding-left: 1rem !important;
  }
}

/* Mobile - Small */
@media (max-width: 575px) {
  .parent-org {
    /* Font size is now fixed at 16.75px in the base rule */
    letter-spacing: 0.04rem !important;
    padding-top: 12px !important;
    padding-left: 0.75rem !important;
  }
}

/* Parent organization link styling - matches college-name link styling */
.parent-org a {
  color: #18453b !important;
  text-decoration: none !important;
}

.parent-org a:hover {
  color: #0f2b23 !important; /* Darker green on hover - same as college-name */
  text-decoration: none !important;
}

/* Site title/college name styling */
p.college-name {
  color: #18453b !important;
  font-weight: 700 !important; /* Bold */
  margin: 0 !important; /* Remove all margins */
  padding: 0 !important; /* Remove all padding */
  line-height: 1.2 !important;
  position: relative; /* For the :before pseudo-element */
}

/* Green bar before Design Day title - removed for centered layout */
p.college-name:before {
  display: none; /* Disabled to allow clean centered positioning */
}

p.college-name a {
  color: #18453b !important;
  font-weight: 700 !important; /* Bold */
  text-decoration: none !important;
}

p.college-name a:hover {
  color: #0f2b23 !important; /* Darker green on hover */
  text-decoration: none !important;
}

/* Desktop - Large screens */
@media (min-width: 1200px) {
  p.college-name {
    font-size: 2rem !important; /* 32px */
    letter-spacing: 0.065rem !important;
    /* Padding removed to center in dept-header */
  }
}

/* Desktop - Medium screens */
@media (min-width: 992px) and (max-width: 1199px) {
  p.college-name {
    font-size: 1.875rem !important; /* 30px */
    letter-spacing: 0.06rem !important;
    /* Padding removed to center in dept-header */
  }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 991px) {
  p.college-name {
    font-size: 1.75rem !important; /* 28px */
    letter-spacing: 0.055rem !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Remove green bar on tablet for cleaner centered look */
  p.college-name:before {
    display: none;
  }
}

/* Mobile - Large */
@media (min-width: 576px) and (max-width: 767px) {
  p.college-name {
    font-size: 1.75rem !important; /* 28px */
    letter-spacing: 0.05rem !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  /* Remove green bar on mobile for cleaner centered look */
  p.college-name:before {
    display: none;
  }
}

/* Mobile - Small */
@media (max-width: 575px) {
  p.college-name {
    font-size: 1.5rem !important; /* 24px */
    letter-spacing: 0.04rem !important;
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }

  /* Remove green bar on mobile for cleaner centered look */
  p.college-name:before {
    display: none;
  }

  /* Center the entire branding on mobile */
  .site-logo {
    display: block;
    margin: 0 auto;
  }
}

/* Ensure proper alignment with logo */
.egr-site-logo {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

/* Additional responsive adjustments for the logo */
@media (max-width: 767px) {
  .site-logo img {
    max-height: 60px !important;
  }
}

@media (max-width: 575px) {
  .site-logo img {
    max-height: 50px !important;
  }
  
  /* Stack logo and title on very small screens */
  .block-system-branding-block .row {
    text-align: center;
  }
  
  .block-system-branding-block .col-auto,
  .block-system-branding-block .col {
    width: 100%;
    text-align: center;
  }
}

/* Site slogan responsive styling */
.site-slogan {
  font-size: 0.875rem;
  line-height: 1.4;
}

@media (max-width: 767px) {
  .site-slogan {
    font-size: 0.75rem;
    text-align: center;
  }
}

/* MSU Masthead padding on smaller screens */
@media (max-width: 767px) {
  #msu-header a[href="https://www.msu.edu"] img[alt="Michigan State University Homepage"] {
    padding-left: 1rem;
  }
}

@media (max-width: 575px) {
  #msu-header a[href="https://www.msu.edu"] img[alt="Michigan State University Homepage"] {
    padding-left: 0.75rem;
  }
}

/* Hide MSU Menu (Current Students, Directory, Future Students) on mobile devices */
@media (max-width: 767px) {
  #msu-header .region-msu-menu {
    display: none !important;
  }

  /* Remove flex properties from audience menu on mobile */
  #msu-header .region-audience-menu {
    display: block !important;
    justify-content: unset !important;
  }

  /* Align the megamenu button to the left */
  #msu-header .tbm-button {
    margin-left: 0 !important;
  }
}

/* Hide search box on mobile devices */
@media (max-width: 767px) {
  .region-searchbox {
    display: none !important;
  }
}

/* Ensure search box is visible on larger screens */
@media (min-width: 768px) {
  .region-searchbox {
    display: flex !important;
    justify-content: flex-end;
  }
}

/* Remove padding from breadcrumb block */
.block-system-breadcrumb-block {
  padding: 0 !important;
}

/* Also remove padding from the breadcrumb navigation itself */
.block-system-breadcrumb-block nav {
  padding: 0 !important;
}

/* Remove any margin that might be added */
.block-system-breadcrumb-block,
.block-system-breadcrumb-block nav,
.block-system-breadcrumb-block .breadcrumb {
  margin: 0 !important;
  padding: 0 !important;
}

/* Align breadcrumb region with other header regions */
.region-breadcrumb {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Mobile - Small screens (up to 767px) - Add padding for breathing room */
@media (max-width: 767px) {
  .region-breadcrumb {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}

/* Mobile - Extra small screens (up to 575px) - Slightly less padding */
@media (max-width: 575px) {
  .region-breadcrumb {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }
}

/* Position college name to left middle in dept-header */
#dept-header .egr-site-logo {
  display: flex;
  align-items: center;
  justify-content: flex-start; /* Align to left */
  margin-top: 1rem;
  margin-bottom: 1rem;
}

/* Make the branding block take full width */
#dept-header .block-system-branding-block {
  width: 100%;
}

/* Align row content to left middle */
#dept-header .block-system-branding-block .row {
  justify-content: flex-start;
  align-items: center;
}

/* Ensure college name is left aligned */
#dept-header .college-name {
  text-align: left;
  display: block;
  width: auto;
}

/* Mobile padding for college-name in dept-header */
@media (max-width: 767px) {
  #dept-header .college-name,
  #dept-header p.college-name {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}

@media (max-width: 575px) {
  #dept-header .college-name,
  #dept-header p.college-name {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }
}

/* ==========================================================================
   Padding for MSU Header Top, MSU Header and Department Header
   Desktop: No padding (content aligns to container edge/blue line)
   Mobile: Small padding for breathing room
   ========================================================================== */

/* No padding for desktop - content aligns to container edge */
#msu-header-top .container,
#msu-header .container,
#dept-header .container {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Mobile - Small screens (up to 767px) - Add padding for breathing room */
@media (max-width: 767px) {
  #msu-header-top .container,
  #msu-header .container,
  #dept-header .container {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}

/* Mobile - Extra small screens (up to 575px) - Slightly less padding */
@media (max-width: 575px) {
  #msu-header-top .container,
  #msu-header .container,
  #dept-header .container {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }
}

/* ==========================================================================
   Padding for Page Header Section
   Desktop: No padding (content aligns to container edge/blue line)
   Mobile: Small padding for breathing room
   ========================================================================== */

/* No padding for desktop - content aligns to container edge */
#page-header .container {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Mobile - Small screens (up to 767px) - Add padding for breathing room */
@media (max-width: 767px) {
  #page-header .container {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  #page-header h1,
  #page-header h2,
  #page-header .page-title,
  #page-header .breadcrumb {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}

/* Mobile - Extra small screens (up to 575px) - Slightly less padding */
@media (max-width: 575px) {
  #page-header .container {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }

  #page-header h1,
  #page-header h2,
  #page-header .page-title,
  #page-header .breadcrumb {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }
}