/* =========================================================
   1. Global
   ========================================================= */
.is-layout-flow > *,
.wp-site-blocks > * {
  margin-block-start: 0 !important;
}

.entry-content {
  padding: 0 var(--wp--custom--block--globals--spacing--padding--160);
}
.bmi-post .entry-content {
  padding-left: 0;
}
@media (min-width: 1200px) {
  .bmi-single-featured-img.wp-block-post-featured-image img {
    max-width: 400px;
  }
}

/* =========================================================
   2. Site header — navigation
   ========================================================= */

.bmp-site-header-wrapper {
  display: flex;
  justify-content: space-between;
}

.bmp-site-header .wp-block-navigation {
  padding-top: var(--wp--custom--block--globals--spacing--padding--80);
}

.wp-block-navigation-item {
  color: var(--wp--custom--block--mixins--site-header--nav-text-color);
  font-size: var(--wp--custom--block--mixins--site-header--nav-font-size);
  font-weight: var(--wp--custom--block--mixins--site-header--nav-font-weight);
  line-height: 1;
}

/* Mobile: stacked nav items */
.wp-block-navigation .wp-block-navigation-item {
  display: block;
  padding-top: var(--wp--custom--block--globals--spacing--padding--160);
}

.wp-block-navigation-item__content {
  border-bottom: var(--wp--custom--unit--stroke--400) solid transparent;
}

.wp-block-navigation-item__content:hover,
.wp-block-navigation-item__content:active {
  border-bottom: var(--wp--custom--unit--stroke--400) solid
    var(--wp--custom--block--mixins--site-header--nav-text-color-active);
}

.wp-block-navigation__responsive-container-open {
  color: var(--wp--custom--unit--color--gray--0);
}
.wp-block-navigation__responsive-container.has-modal-open {
  .wp-block-search .wp-block-search__inside-wrapper .wp-block-search__input {
    background: transparent !important;
    border: var(--wp--custom--unit--stroke--200) solid
      var(--wp--custom--block--mixins--site-header--search-button-background);

    border-bottom-left-radius: var(
      --wp--custom--block--globals--corner-radius
    ) !important;
    border-top-left-radius: var(
      --wp--custom--block--globals--corner-radius
    ) !important;
  }
  .wp-block-search
    .wp-block-search__inside-wrapper
    .wp-block-search__input:focus-visible {
    border: 2px solid var(--wp--custom--block--globals--color--orange) !important;
  }

  .wp-block-search
    .wp-block-search__inside-wrapper
    button.wp-block-search__button {
    background: var(
      --wp--custom--block--mixins--site-header--search-button-background
    );
    border: var(--wp--custom--unit--stroke--200) solid
      var(--wp--custom--block--mixins--site-header--search-button-background);
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
    border-bottom-right-radius: var(
      --wp--custom--block--globals--corner-radius
    ) !important;
    border-top-right-radius: var(
      --wp--custom--block--globals--corner-radius
    ) !important;
    color: var(--wp--custom--block--mixins--site-header--search-button-color);
    font-weight: inherit;
    margin-left: 0;
    padding: 0 var(--wp--custom--block--globals--spacing--padding--160);
  }
}

/* Mobile: show mobile nav, hide desktop nav */
.innovate-nav-desktop.wp-block-navigation {
  display: none;
}

/* Nav dropdown width */
.wp-block-navigation__responsive-container-content,
.wp-block-navigation__responsive-container-content form,
.wp-block-navigation__responsive-container-content > ul,
.wp-block-navigation__responsive-container-content > ul > li {
  width: 100%;
}

@media (min-width: 650px) {
  .wp-block-navigation__responsive-container-content,
  .wp-block-navigation__responsive-container-content form,
  .wp-block-navigation__responsive-container-content > ul,
  .wp-block-navigation__responsive-container-content > ul > li {
    width: 75%;
  }
}

@media (min-width: 1200px) {
  /* Switch to desktop nav */
  .bmp-site-header-wrapper {
    display: flex;
    flex-direction: column;
  }
  .innovate-nav-mobile.wp-block-navigation {
    display: none;
  }

  .innovate-nav-desktop.wp-block-navigation {
    display: inline-flex;
    margin-top: var(--wp--custom--block--globals--spacing--margin--160);
  }

  /* Desktop: inline nav items */
  .wp-block-navigation .wp-block-navigation-item {
    padding-top: 0;
  }

  .wp-block-navigation-item {
    line-height: 1;
  }

  .wp-block-navigation-item a {
    height: 40px;
  }

  .wp-block-navigation-item a:hover {
    border-bottom: var(--wp--custom--unit--stroke--400) solid
      var(--wp--custom--block--mixins--site-header--nav-text-color-active);
  }
}

/* =========================================================
   3. Showcase listing
   ========================================================= */
/* Side gutter (16px below 1200px, 0 above) comes from the `.bmp-gutter` helper
   on the query block — see firebird-horizontal-spacing.css. */
.showcase-posts > ul {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: var(--wp--custom--block--globals--spacing--gap--160);
  padding: 0;
  list-style: none;
  margin: 0;
}

.showcase-posts li {
  position: relative;
  cursor: pointer;
  transition: transform
    var(--wp--custom--block--globals--animation--transition--hover, 0.2s)
    var(--wp--custom--block--globals--animation--easing, ease);
}

.showcase-posts li:hover {
  transform: translateY(-1px);
}

.showcase-posts .bmi-post {
  background: var(--wp--custom--block--mixins--card--background-style-accent);
  border-radius: var(--wp--custom--block--mixins--card--border-radius);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  transition:
    box-shadow
      var(--wp--custom--block--globals--animation--transition--hover, 0.2s)
      var(--wp--custom--block--globals--animation--easing, ease),
    border-color
      var(--wp--custom--block--globals--animation--transition--hover, 0.2s)
      var(--wp--custom--block--globals--animation--easing, ease);
}

.showcase-posts li:hover .bmi-post {
  box-shadow: var(--wp--custom--unit--shadow--100);
}

.showcase-posts .bmi-featured-img.wp-block-post-featured-image {
  margin: 0;
}

.showcase-posts .bmi-featured-img.wp-block-post-featured-image img {
  width: 100% !important;
  height: 230px !important;
  object-fit: cover;
  display: block;
  border-radius: var(--wp--custom--block--mixins--card--image-border-radius)
    var(--wp--custom--block--mixins--card--image-border-radius) 0 0;
  margin: 0;
}

.showcase-posts .bmi-post__content {
  padding: var(--wp--custom--block--mixins--card--padding-style-accent);
  flex: 1;
}

.showcase-posts .wp-block-post-title {
  color: var(--wp--custom--block--mixins--card--color-heading);
  margin: 0 0 var(--wp--custom--block--mixins--content--heading-margin, 0.5rem)
    0;
  text-align: left;
}

.showcase-posts .wp-block-post-excerpt {
  color: var(--wp--custom--block--mixins--card--color-body);
  font-size: var(--wp--custom--block--globals--typography--body--font-size);
  font-weight: var(--wp--custom--block--globals--typography--body--font-weight);
  margin: 0;
}

.showcase-posts .wp-block-post-excerpt p {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
}

/* Full-card clickable via title link overlay */
.showcase-posts li .wp-block-post-title a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

/* =========================================================
   4. Single dataset & showcase
   ========================================================= */

/* One consistent edge padding for the whole two-column area (content, meta,
   terms, featured image). The gutter itself (16px below 1200px, 0 above) comes
   from the `.bmp-gutter` helper on the columns block — see
   firebird-horizontal-spacing.css. The post-content's own §1 .entry-content
   padding is zeroed here so it doesn't double up against that gutter and the
   body text lines up with the meta fields. `.bmi-single-layout` is set on the
   columns block in single-dataset.html and single-showcase.html. */
.bmi-single-layout .entry-content {
  padding-inline: 0;
}

/* Showcase only: image column stacks above content on mobile */
.single-showcase .bmi-single-layout .wp-block-column:last-child {
  order: -1;
}

/* Columns stop stacking at WP's default breakpoint; restore image order */
@media (min-width: 782px) {
  .single-showcase .bmi-single-layout .wp-block-column:last-child {
    order: 0;
  }
}

/* =========================================================
   5. Shared post meta
   ========================================================= */

.bmi_meta {
  margin-top: var(
    --wp--custom--block--globals--spacing--padding--320,
    2rem
  ) !important;
}

.bmi_meta p {
  margin-block: var(--wp--custom--block--globals--spacing--margin--40);
}

/* =========================================================
   6. Datasets listing
   ========================================================= */

.dataset-listing {
  padding-top: 2.5rem;
}

ul.year-listing {
  padding-top: var(--wp--custom--block--globals--spacing--padding--320);
}

.page-template-page-datasets li.type-dataset,
.post-type-archive li.type-dataset,
.post-type-archive li.type-showcase {
  padding-top: var(--wp--custom--block--globals--spacing--padding--320);
  border-top: var(--wp--custom--unit--stroke--100) solid
    var(--wp--preset--color--group-orange-200);
}

.page-template-page-datasets li.type-dataset:first-child,
.post-type-archive li.type-dataset:first-child,
.post-type-archive li.type-showcase:first-child {
  border-top: none;
  padding-top: 0;
}

.year-break {
  padding: 0.8rem 0;
  background-color: var(--wp--preset--color--group-orange-200);
}

.year-break h2 {
  text-align: center;
  margin: 0;
  line-height: 1;
}

/* =========================================================
   7. Data release schedule
   ========================================================= */

dt.data-title {
  font-weight: bold;
  margin-top: var(--wp--custom--block--globals--spacing--margin--200);
}

dt.data-title:first-child {
  margin-top: 0;
}

dd.data-date {
  margin-left: 0;
  margin-top: var(--wp--custom--block--globals--spacing--margin--40);
}
/* =========================================================
   8. Search results
   ========================================================= */

.search-results li.type-dataset,
.search-results li.type-showcase,
.bmp-search-results-page .wp-block-query .wp-block-post {
  border: none;
  padding-top: 0 !important;
  .entry-content {
    padding-left: 0;
  }
}
.search-results li.type-dataset:last-child,
.search-results li.type-showcase:last-child,
.bmp-search-results-page .wp-block-query .wp-block-post:last-child {
  border-bottom: none;
}
