/*
 * BODY TEXT - STRONG FONT
 *
 * Keep bold text in the same font family as its surrounding paragraph.
 * The theme's p strong rule prioritizes Apple system fonts ahead of
 * Freight Sans Pro, making bold text appear larger on Apple devices.
 *
 * Font weight and size remain controlled by the existing theme styles.
 */
p strong {
  font-family: inherit;
}

/*
 * Restore link font weight removed or narrowed in test old-site.css.
 *
 * The first selector restores paragraph-link weight site-wide while
 * retaining the newer image-grid exclusion that may be intentional.
 *
 * The second restores the original Tulane News content-page selector.
 * Test added .layout-content to that selector, which excluded breadcrumbs
 * on /news/ pages while leaving /pr/ breadcrumbs unaffected.
 *
 * Only font weight is restored. Current color, spacing, and responsive
 * behavior remain unchanged.
 */
.layout div p a:not(
  .paragraph--type--expert-media-appearances a,
  .btn-tulane,
  .btn-green,
  .btn-tulane a,
  .block-type-system-breadcrumb-block ol li a,
  .image-content__title a,
  .accordion .accordion__item a.accordion__toggle,
  .bg-tu-green-official .paragraph--type--image-content-grid .image-description a
),
.node-type-tulane-news .main_wrapper a:not(
  .button,
  .btn-tulane,
  .btn-tulane a
) {
  font-weight: 700;
}


/*
 * Fix the Recent Highlights heading overlapping the news items above it,
 * which is only noticeable at mobile and tablet widths.
 *
 * Test is missing the live mt-20 class that provides separation between
 * the sections. The original live rule applies at all breakpoints:
 * calc(var(--spacing) * 20) = 0.25rem × 20 = 5rem.
 */
.block-type-quick-links {
  margin-top: 5rem;
}


/*
 * QUICK LINKS
 *
 * Restore original live CSS first.
 */

/* Original live old-site.css rule. */
.quicklinks-items__wrapper ul li {
  padding: 1rem;
}

/* Original live old-site.css breakpoint rule. */
@media (min-width: 64em) {
  .quicklinks-items__wrapper ul li {
    padding: 0 0.25rem;
  }
}

/*
 * Test-only compatibility override.
 *
 * Test adds .button to these anchors. Its generic .button rule changes:
 *   display: block        → inline-block
 *   position: static      → relative
 *   margin: 0 0 1rem      → 10px auto
 *
 * Restore only those original values while retaining the .button class.
 */
.block-type-quick-links
.quicklinks-items__wrapper ul li > a.btn-tulane.button {
  display: block !important;
  position: static;
  margin: 0 0 1rem;
}

/*
 * Test-only compatibility override.
 *
 * Test sets overflow: hidden on one-column layouts, while the original
 * layout uses overflow: visible. Limit the restoration to layouts that
 * contain a Quick Links component.
 */
.layout--onecol:has(.block-type-quick-links) {
  overflow: visible;
}


/*
 * GREEN FOOTER
 *
 * Restore the green footer’s original sizing and positioning without
 * affecting the new grey footer.
 *
 * Test changed the green footer’s padding, introduced a fluid grid with
 * gaps and two tablet columns, and removed the empty second footer column
 * that positioned Jobs at Tulane in the third desktop column.
 *
 * All rules are limited to .site-footer__site. The new grey footer uses
 * .site-footer__university and is unaffected.
 */

/* Restore the original green-footer padding and usable content width. */
.site-footer__site {
  padding: 2.5rem;
}

.site-footer__site > .container {
  padding: 0;
}

/* Restore the original single-column layout with no added grid gaps. */
.site-footer__site .site-footer__columns {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

/*
 * Restore the original Jobs at Tulane size and the 2.5rem space formerly
 * supplied by the now-removed empty footer2 element.
 */
.site-footer__site .footer3 {
  margin-top: 2.5rem;
  font-size: 22px;
  line-height: 26px;
}

/* Restore the original tablet width of the logo/address column. */
@media (min-width: 48rem) {
  .site-footer__site .footer1 {
    max-width: 50%;
  }
}

/* Restore the original desktop grid and Jobs at Tulane placement. */
@media (min-width: 64rem) {
  .site-footer__site .site-footer__columns {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .site-footer__site .footer1 {
    max-width: 100%;
  }

  .site-footer__site .footer3 {
    grid-column: 3;
    margin-top: 0;
  }
}


/*
 * SECTION SPECIFIC FIXES
 */

 /*
  * TULANE NEWS ARTICLE CONTENT WELLS
  *
  * Keep the title, metadata, hero, and body within the hero’s existing
  * 1000px maximum width on both article layouts.
  *
  * Press-release pages place .layout-content directly inside .layout-main.
  * News pages place it inside .page-content-grid. Listing both structural
  * selectors preserves the distinction without relying on URLs.
  *
  * Below 1000px, the existing full-width behavior remains unchanged.
  * News-page sidebar styling is handled separately and does not affect
  * press-release pages.
  */
 .layout-main > .layout-content
 .node-tulane-news .node-tulane-news,
 .page-content-grid > .layout-content
 .node-tulane-news .node-tulane-news {
   max-width: 1000px;
 }


/*
 * NEWS ARTICLE - DESKTOP GRID
 *
 * Preserve the outer-left offset and 3rem content/sidebar gap from the
 * layout that preceded this hotfix. The article’s inner 1rem padding makes
 * the minimum visible separation between its content and the sidebar about
 * 4rem.
 *
 * Use that same 4rem as the outer-right offset and align the sidebar box
 * flush with it. Reconstruct the theme’s original stepped left offset while
 * allowing only the right edge of the news layout to extend farther.
 *
 * Keep the sidebar readable without unnecessarily narrowing the article:
 * use a fixed 18rem width at smaller and intermediate desktop widths. At
 * the widest container breakpoint, use a 25% grid column. The sidebar's
 * existing max-w-[27.5rem] class caps the box at the same maximum width
 * used by its mobile/tablet version.
 *
 * Press releases have no .page-content-grid and are unaffected. The page
 * header and footers are not selected or modified.
 */
@media (min-width: 64em) {
  .node-type-tulane-news
  main.layout-main:has(> .page-content-grid) {
    max-width: none;
    padding-right: 4rem;
  }

  .node-type-tulane-news
  .page-content-grid:has(> .layout-sidebar--right) {
    column-gap: 3rem;
  }

  .node-type-tulane-news
  .page-content-grid > .layout-sidebar--right {
    width: 100%;
    justify-self: end;
  }
}

@media (min-width: 64em) and (max-width: 79.999em) {
  .node-type-tulane-news
  main.layout-main:has(> .page-content-grid) {
    padding-left: calc(50% - 30.5rem);
  }

  .node-type-tulane-news
  .page-content-grid:has(> .layout-sidebar--right) {
    grid-template-columns: minmax(0, 1fr) 18rem;
  }
}

@media (min-width: 80em) and (max-width: 95.999em) {
  .node-type-tulane-news
  main.layout-main:has(> .page-content-grid) {
    padding-left: calc(50% - 38.5rem);
  }

  .node-type-tulane-news
  .page-content-grid:has(> .layout-sidebar--right) {
    grid-template-columns: minmax(0, 1fr) 18rem;
  }
}

@media (min-width: 96em) {
  .node-type-tulane-news
  main.layout-main:has(> .page-content-grid) {
    padding-left: calc(50% - 46.5rem);
  }

  .node-type-tulane-news
  .page-content-grid:has(> .layout-sidebar--right) {
    grid-template-columns: minmax(0, 1fr) 25%;
  }
}


/*
 * NEWS ARTICLE - RIGHT SIDEBAR
 *
 * Remove the unwanted border and its associated left padding.
 *
 * At desktop widths, replace the obsolete percentage-based top padding
 * and float from tulane_news_articles. The 7.5rem margin preserves usable
 * fallback positioning in browsers without CSS anchor positioning.
 *
 * Where anchor positioning is supported, align the top of the sidebar box
 * directly with .banner-image-or-video-section. This accommodates varying
 * title heights without article-specific or URL-specific selectors.
 */
.node-type-tulane-news
.page-content-grid > .layout-sidebar--right {
  border-left: 0;
  padding-left: 0;
}

@media (min-width: 64em) {
  .node-type-tulane-news
  .page-content-grid > .layout-sidebar--right {
    float: none !important;
    margin-top: 7.5rem;
    padding-top: 0 !important;
  }
}

@supports (anchor-name: --news-hero) and
          (top: anchor(--news-hero top)) {
  @media (min-width: 64em) {
    .node-type-tulane-news
    .page-content-grid:has(> .layout-sidebar--right) {
      position: relative;
    }

    .node-type-tulane-news
    .banner-image-or-video-section {
      anchor-name: --news-hero;
    }

    .node-type-tulane-news
    .page-content-grid > .layout-sidebar--right {
      position: absolute;
      top: anchor(--news-hero top);
      right: 0;
      margin-top: 0;
    }
  }
}


/*
 * NEWS ARTICLE - YOU MIGHT LIKE
 *
 * Replace the legacy floated-thumbnail layout with a two-column grid.
 *
 * The 75px thumbnail size comes from the existing thumbnail image style.
 * Use 1rem of vertical separation so adjacent stories remain visually
 * distinct at every breakpoint.
 *
 * This also removes the old global aside image padding that currently
 * adds 40px below every thumbnail.
 *
 * All rules are scoped through the news-page grid and right sidebar so
 * they cannot affect press-release related-article blocks.
 */
.node-type-tulane-news
.page-content-grid > .layout-sidebar--right
.block-type-views-block\:similar-stories-block-2 .views-row {
  float: none;
  margin-bottom: 1rem;
  line-height: 1.25;
}

.node-type-tulane-news
.page-content-grid > .layout-sidebar--right
.block-type-views-block\:similar-stories-block-2 .views-row:last-child {
  margin-bottom: 0;
}

.node-type-tulane-news
.page-content-grid > .layout-sidebar--right
.block-type-views-block\:similar-stories-block-2 .views-row p {
  display: grid;
  grid-template-columns: 75px minmax(0, 1fr);
  align-items: start;
  column-gap: 0.75rem;
  width: 100%;
  margin: 0;
  padding: 0;
  font-size: inherit;
  line-height: inherit;
}

.node-type-tulane-news
.page-content-grid > .layout-sidebar--right
.block-type-views-block\:similar-stories-block-2 .views-row p > a {
  display: block;
  min-width: 0;
}

.node-type-tulane-news
.page-content-grid > .layout-sidebar--right
.block-type-views-block\:similar-stories-block-2 .views-row img {
  float: none;
  display: block;
  width: 75px;
  height: 75px;
  padding: 0;
  object-fit: cover;
}


/*
 * PAGE SPECIFIC FIXES
 */

/*
 * Center the /pr page heading.
 *
 * Live includes the text-center class on this heading, but that
 * class is missing from the test markup.
 */
body.node-1652329 h1 {
  text-align: center;
}
