/*
Theme Name: Banana Growth
Author: Banana Works
Description: Lean WordPress block theme for Banana Works Website Growth sites.
Version: 1.1.0
Text Domain: banana-growth
*/

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
}

img {
  height: auto;
  max-width: 100%;
}

a:focus-visible,
button:focus-visible,
.wp-element-button:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 3px;
}

.bw-header,
.bw-footer {
  padding-left: 24px;
  padding-right: 24px;
}

.bw-header-inner,
.bw-footer-inner {
  min-height: 88px;
}

.bw-header-inner > .wp-block-group {
  min-width: 0;
}

.bw-header-inner > .bw-header-nav {
  margin-inline-start: auto;
  flex-shrink: 0;
}

.bw-header-nav .wp-block-navigation__responsive-container.is-menu-open,
.bw-header-nav .is-menu-open .wp-block-navigation__container {
  --navigation-layout-justification-setting: center;
  --navigation-layout-justify: center;
  --navigation-layout-align: center;
  text-align: center;
}

.bw-blog-hero,
.bw-single-hero {
  padding: clamp(72px, 10vw, 144px) 24px;
}

.bw-blog-listing,
.bw-single-featured-wrap,
.bw-post-navigation,
.bw-related-section,
.bw-blog-cta {
  padding-left: 24px;
  padding-right: 24px;
}

.bw-blog-listing,
.bw-related-section {
  padding-bottom: clamp(64px, 9vw, 120px);
  padding-top: clamp(64px, 9vw, 120px);
}

.bw-blog-kicker,
.bw-related-kicker,
.bw-blog-cta-kicker,
.bw-blog-category {
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.bw-blog-title,
.bw-single-title {
  font-size: clamp(2.75rem, 7vw, 5.5rem);
  margin-bottom: 24px;
  margin-top: 12px;
}

.bw-blog-intro {
  font-size: clamp(1.05rem, 2vw, 1.3rem);
}

.bw-blog-grid,
.bw-related-grid {
  gap: 32px;
}

.bw-blog-card,
.bw-related-card {
  height: 100%;
  overflow: hidden;
}

.bw-blog-card-image img,
.bw-related-image img {
  transition: transform 200ms ease;
}

.bw-blog-card:hover .bw-blog-card-image img,
.bw-related-card:hover .bw-related-image img {
  transform: scale(1.025);
}

.bw-blog-card-content,
.bw-related-card-content {
  padding-top: 20px;
}

.bw-blog-meta,
.bw-single-meta {
  color: var(--wp--preset--color--muted);
  font-size: 0.9rem;
}

.bw-blog-card-title,
.bw-related-card-title {
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  margin-bottom: 12px;
  margin-top: 12px;
}

.bw-blog-card-title a,
.bw-related-card-title a {
  color: inherit;
  text-decoration: none;
}

.bw-read-more {
  font-weight: 700;
}

.bw-read-more::after {
  content: " →";
}

.bw-blog-pagination {
  margin-top: 56px;
}

.bw-single-featured-wrap {
  margin-top: clamp(-72px, -6vw, -40px);
  position: relative;
}

.bw-single-featured {
  border-radius: 16px;
  overflow: hidden;
}

.bw-article-content {
  padding-bottom: clamp(56px, 8vw, 96px);
  padding-top: clamp(56px, 8vw, 96px);
}

.bw-article-content > * {
  max-width: 760px;
}

.bw-article-content > .alignwide {
  max-width: 1200px;
}

.bw-article-content > .alignfull {
  max-width: none;
}

.bw-post-navigation {
  border-top: 1px solid #d9dde3;
  padding-bottom: 48px;
  padding-top: 32px;
}

.bw-related-section,
.bw-blog-cta {
  padding-bottom: clamp(64px, 9vw, 112px);
  padding-top: clamp(64px, 9vw, 112px);
}

.bw-blog-cta {
  text-align: center;
}

@media (max-width: 781px) {
  .bw-header-inner {
    gap: 16px;
  }

  .bw-header .bw-header-nav .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none;
  }

  .bw-header .bw-header-nav .wp-block-navigation__responsive-container-open {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
  }

  .bw-footer-inner,
  .bw-post-navigation {
    align-items: flex-start !important;
    flex-direction: column;
  }

  .bw-blog-grid,
  .bw-related-grid {
    grid-template-columns: 1fr !important;
  }

  .bw-single-featured-wrap {
    margin-top: -32px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
