/* Shared Bass Awards public UI foundation — 0.2.70.
 * Own the theme-wrapper reset and page-start rhythm here so Results, Profiles
 * and the Bass Awards Hub cannot drift through page-specific overrides. */
body.bam-ui-core{
  --bam-site-bg:#08090c;
  --bam-site-cyan:69,200,216;
  --bam-site-amber:241,182,75;
  --bam-public-page-top:12px;
  --bam-public-page-x:24px;
  --bam-public-page-bottom:72px;
  /* 0.2.83 canonical responsive canvas system.
   * wide = discovery/grid surfaces, standard = profile/detail,
   * detail = long leaderboard, editorial = legal/FAQ outer shell. */
  --bam-canvas-wide:1440px;
  --bam-canvas-standard:1360px;
  --bam-canvas-detail:1280px;
  --bam-canvas-editorial:1200px;
  --bam-canvas-reading:850px;
  /* 0.3.39: approved Bass Awards brand families. No Inter webfont dependency. */
  --bam-font-roc:var(--font-headings,roc-grotesk,"Roc Grotesk",Arial,sans-serif);
  --bam-font-mono:var(--font-mono,"Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace);
  --bam-font-ui:var(--bam-font-roc);
  --bam-font-body:var(--bam-font-ui);
  --bam-font-heading:var(--bam-font-roc);
  background-color:var(--bam-site-bg);
}
body.bam-ui-core .wp-site-blocks{background-color:transparent}

/* 0.2.95 — clean readable type everywhere on the public frontend. */
body.bam-ui-core{font-family:var(--bam-font-ui)!important}
body.bam-ui-core button,
body.bam-ui-core input,
body.bam-ui-core select,
body.bam-ui-core textarea{font-family:var(--bam-font-ui)!important}
body.bam-ui-core h1,
body.bam-ui-core h2,
body.bam-ui-core h3,
body.bam-ui-core h4,
body.bam-ui-core h5,
body.bam-ui-core h6{font-family:var(--bam-font-heading)!important}
body.bam-ui-core code,
body.bam-ui-core pre,
body.bam-ui-core kbd,
body.bam-ui-core samp{font-family:var(--bam-font-mono)}

/* Canonical public pages fully own their content canvas. */
body.bam-results-runtime-active,
body.bam-profiles-index-active,
body.bam-awards-hub-active,
body.bam-homepage-preview-active,
body.bam-homepage-live-active{
  width:100%!important;
  max-width:100vw!important;
  min-width:0!important;
  overflow-x:clip!important;
}

/* Twenty Twenty-Four / block themes add a block-gap between the site header and
 * <main>. Canonical BA pages own that spacing themselves, so neutralize it here.
 * This is the source of the large empty strip seen above /profily/ on mobile. */
body.bam-results-runtime-active .wp-site-blocks>main,
body.bam-profiles-index-active .wp-site-blocks>main,
body.bam-awards-hub-active .wp-site-blocks>main,
body.bam-homepage-preview-active .wp-site-blocks>main,
body.bam-homepage-live-active .wp-site-blocks>main{
  margin-block-start:0!important;
  margin-top:0!important;
  padding-block-start:0!important;
  padding-top:0!important;
  min-width:0!important;
  max-width:100%!important;
}

body.bam-results-runtime-active #page,
body.bam-results-runtime-active .site,
body.bam-results-runtime-active .site-content,
body.bam-results-runtime-active #primary,
body.bam-results-runtime-active .content-area,
body.bam-results-runtime-active .site-main,
body.bam-results-runtime-active .entry-content,
body.bam-profiles-index-active #page,
body.bam-profiles-index-active .site,
body.bam-profiles-index-active .site-content,
body.bam-profiles-index-active #primary,
body.bam-profiles-index-active .content-area,
body.bam-profiles-index-active .site-main,
body.bam-profiles-index-active .entry-content,
body.bam-awards-hub-active #page,
body.bam-awards-hub-active .site,
body.bam-awards-hub-active .site-content,
body.bam-awards-hub-active #primary,
body.bam-awards-hub-active .content-area,
body.bam-awards-hub-active .site-main,
body.bam-awards-hub-active .entry-content{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  float:none!important;
  box-sizing:border-box!important;
  min-inline-size:0!important;
}
body.bam-results-runtime-active .site-main,
body.bam-results-runtime-active .entry-content,
body.bam-profiles-index-active .site-main,
body.bam-profiles-index-active .entry-content,
body.bam-awards-hub-active .site-main,
body.bam-awards-hub-active .entry-content{
  padding:0!important;
  margin-top:0!important;
  overflow:visible!important;
}
body.bam-homepage-preview-active #page,
body.bam-homepage-preview-active .site,
body.bam-homepage-preview-active .site-content,
body.bam-homepage-preview-active #primary,
body.bam-homepage-preview-active .content-area,
body.bam-homepage-preview-active .site-main,
body.bam-homepage-preview-active .entry-content,
body.bam-homepage-live-active #page,
body.bam-homepage-live-active .site,
body.bam-homepage-live-active .site-content,
body.bam-homepage-live-active #primary,
body.bam-homepage-live-active .content-area,
body.bam-homepage-live-active .site-main,
body.bam-homepage-live-active .entry-content{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  float:none!important;
  box-sizing:border-box!important;
  min-inline-size:0!important;
}
body.bam-homepage-preview-active .site-main,
body.bam-homepage-preview-active .entry-content,
body.bam-homepage-live-active .site-main,
body.bam-homepage-live-active .entry-content{
  padding:0!important;
  margin-top:0!important;
  overflow:visible!important;
}

/* Legacy page chrome is replaced by the canonical renderer. */
body.bam-results-runtime-active .page-header,
body.bam-results-runtime-active .entry-header,
body.bam-results-runtime-active .page-title,
body.bam-results-runtime-active .entry-title,
body.bam-profiles-index-active .page-header,
body.bam-profiles-index-active .entry-header,
body.bam-profiles-index-active .page-title,
body.bam-profiles-index-active .entry-title,
body.bam-awards-hub-active .page-header,
body.bam-awards-hub-active .entry-header,
body.bam-awards-hub-active .page-title,
body.bam-awards-hub-active .entry-title,
body.bam-homepage-preview-active .page-header,
body.bam-homepage-preview-active .entry-header,
body.bam-homepage-preview-active .page-title,
body.bam-homepage-preview-active .entry-title,
body.bam-homepage-live-active .page-header,
body.bam-homepage-live-active .entry-header,
body.bam-homepage-live-active .page-title,
body.bam-homepage-live-active .entry-title{display:none!important}

/* One start line for all canonical public surfaces. */
body.bam-ui-core .bam-results-root,
body.bam-ui-core .bam-profiles,
body.bam-ui-core .bam-awards-hub{
  box-sizing:border-box;
  padding-top:var(--bam-public-page-top);
}

/* Desktop page-start rhythm: match the visual breathing room used by the
 * canonical artist profile instead of sitting directly under the site header.
 * Results keep their existing 12px start; these two editorial/directory pages
 * intentionally use 52px. */

/* 0.2.66: Results use the same intentional top breathing room as the newer
 * canonical surfaces. The previous 12px start allowed the large H1 to sit
 * under the sticky site header on year overview/detail pages. */
body.bam-results-runtime-active{--bam-public-page-top:96px}
body.bam-profiles-index-active{--bam-public-page-top:52px}
body.bam-awards-hub-active{--bam-public-page-top:52px}

@media(max-width:680px){
  body.bam-ui-core{--bam-public-page-top:10px;--bam-public-page-x:12px;--bam-public-page-bottom:54px}
  body.bam-results-runtime-active{--bam-public-page-top:84px}
  body.bam-profiles-index-active{--bam-public-page-top:92px}
  body.bam-awards-hub-active{--bam-public-page-top:92px}
  /* Only reset the actual WordPress page wrappers. Never target generic <article>
   * descendants here: Hub/Profile cards use <article> and own their padding. */
  body.bam-results-runtime-active .wp-site-blocks,
  body.bam-profiles-index-active .wp-site-blocks,
  body.bam-awards-hub-active .wp-site-blocks,
  body.bam-homepage-preview-active .wp-site-blocks,
  body.bam-homepage-live-active .wp-site-blocks,
  body.bam-results-runtime-active .wp-site-blocks>main,
  body.bam-profiles-index-active .wp-site-blocks>main,
  body.bam-awards-hub-active .wp-site-blocks>main,
body.bam-homepage-preview-active .wp-site-blocks>main,
body.bam-homepage-live-active .wp-site-blocks>main{
    width:100%!important;max-width:100%!important;min-width:0!important;
    margin-left:0!important;margin-right:0!important;overflow-x:clip!important;
  }
  body.bam-results-runtime-active #page,
  body.bam-results-runtime-active .site,
  body.bam-results-runtime-active .site-content,
  body.bam-results-runtime-active #primary,
  body.bam-results-runtime-active .content-area,
  body.bam-results-runtime-active .site-main,
  body.bam-results-runtime-active .entry-content,
  body.bam-profiles-index-active #page,
  body.bam-profiles-index-active .site,
  body.bam-profiles-index-active .site-content,
  body.bam-profiles-index-active #primary,
  body.bam-profiles-index-active .content-area,
  body.bam-profiles-index-active .site-main,
  body.bam-profiles-index-active .entry-content,
  body.bam-awards-hub-active #page,
  body.bam-awards-hub-active .site,
  body.bam-awards-hub-active .site-content,
  body.bam-awards-hub-active #primary,
  body.bam-awards-hub-active .content-area,
  body.bam-awards-hub-active .site-main,
  body.bam-awards-hub-active .entry-content,
  body.bam-homepage-preview-active #page,
  body.bam-homepage-preview-active .site,
  body.bam-homepage-preview-active .site-content,
  body.bam-homepage-preview-active #primary,
  body.bam-homepage-preview-active .content-area,
  body.bam-homepage-preview-active .site-main,
  body.bam-homepage-preview-active .entry-content,
  body.bam-homepage-live-active #page,
  body.bam-homepage-live-active .site,
  body.bam-homepage-live-active .site-content,
  body.bam-homepage-live-active #primary,
  body.bam-homepage-live-active .content-area,
  body.bam-homepage-live-active .site-main,
  body.bam-homepage-live-active .entry-content{padding-left:0!important;padding-right:0!important}
}


/* 0.2.86 — public header navigation uses the current shared heading font,
 * replacing the legacy menu face while preserving the theme layout/sizing. */
body.bam-ui-core header .wp-block-navigation .wp-block-navigation-item__content,
body.bam-ui-core header .wp-block-navigation .wp-block-navigation-item__label,
body.bam-ui-core .site-header .main-navigation a,
body.bam-ui-core .site-header .menu-item > a{
  font-family:var(--bam-font-ui)!important;
  font-weight:700!important;
}


/* 0.2.88 — desktop header/nav: keep the gradient full-bleed, but put the
 * actual logo + navigation on the same wide canvas as the page content. Mobile
 * is intentionally left alone because the existing hamburger layout is correct. */
@media(min-width:681px){
  body.bam-ui-core header.wp-block-template-part{
    position:relative!important;
    z-index:10000!important;
    overflow:visible!important;
  }

  /* The outer header/background wrapper must never be constrained. */
  body.bam-ui-core header.wp-block-template-part > .wp-block-group{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  /* Standard WP block-theme structure: full-bleed wrapper -> inner flex row. */
  body.bam-ui-core header.wp-block-template-part > .wp-block-group > .wp-block-group:has(.wp-block-site-logo):has(.wp-block-navigation),
  body.bam-ui-core header.wp-block-template-part > .wp-block-group > .wp-block-group:has(.custom-logo-link):has(.wp-block-navigation),
  body.bam-ui-core header.wp-block-template-part .wp-block-group.alignwide:has(.wp-block-site-logo):has(.wp-block-navigation),
  body.bam-ui-core header.wp-block-template-part .wp-block-group.alignwide:has(.custom-logo-link):has(.wp-block-navigation),
  body.bam-ui-core .site-header .site-branding-wrap:has(.main-navigation){
    box-sizing:border-box!important;
    width:min(var(--bam-canvas-wide,1440px),calc(100% - 48px))!important;
    max-width:var(--bam-canvas-wide,1440px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-wrap:nowrap!important;
    gap:32px!important;
  }

  /* Some templates place logo + nav directly on the full-width gradient row. */
  body.bam-ui-core header.wp-block-template-part > .wp-block-group:has(> .wp-block-site-logo):has(> .wp-block-navigation),
  body.bam-ui-core header.wp-block-template-part > .wp-block-group:has(> .custom-logo-link):has(> .wp-block-navigation){
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding-left:max(24px,calc((100vw - var(--bam-canvas-wide,1440px))/2))!important;
    padding-right:max(24px,calc((100vw - var(--bam-canvas-wide,1440px))/2))!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-wrap:nowrap!important;
    gap:32px!important;
  }

  body.bam-ui-core header.wp-block-template-part .wp-block-site-logo,
  body.bam-ui-core header.wp-block-template-part .custom-logo-link,
  body.bam-ui-core .site-header .site-branding{
    flex:0 0 auto!important;
    margin:0!important;
    position:relative!important;
    z-index:4!important;
  }

  body.bam-ui-core header.wp-block-template-part .wp-block-navigation,
  body.bam-ui-core .site-header .main-navigation{
    flex:0 0 auto!important;
    width:auto!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:0!important;
    position:relative!important;
    z-index:20!important;
    pointer-events:auto!important;
  }

  body.bam-ui-core header.wp-block-template-part .wp-block-navigation__container,
  body.bam-ui-core .site-header .main-navigation > ul{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex-wrap:nowrap!important;
    gap:clamp(24px,2.1vw,38px)!important;
    margin:0!important;
    padding:0!important;
  }

  body.bam-ui-core header.wp-block-template-part .wp-block-navigation-item,
  body.bam-ui-core .site-header .main-navigation .menu-item{
    margin:0!important;
    padding:0!important;
    align-self:center!important;
  }

  body.bam-ui-core header.wp-block-template-part .wp-block-navigation-item__content,
  body.bam-ui-core header.wp-block-template-part .wp-block-navigation-item__label,
  body.bam-ui-core .site-header .main-navigation a,
  body.bam-ui-core .site-header .menu-item > a{
    font-family:var(--bam-font-ui)!important;
    font-weight:700!important;
    letter-spacing:.01em!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:36px!important;
    padding:0!important;
    margin:0!important;
    line-height:1.05!important;
    text-align:center!important;
    white-space:nowrap!important;
    position:relative!important;
    z-index:30!important;
    pointer-events:auto!important;
  }

  /* Prevent decorative header layers from stealing clicks from the menu. */
  body.bam-ui-core header.wp-block-template-part::before,
  body.bam-ui-core header.wp-block-template-part::after{
    pointer-events:none!important;
  }
}


/* 0.2.95 — managed public pages must hand off directly to the global footer.
 * Theme min-height values were creating the large empty block seen at page ends. */
body.bam-results-runtime-active .wp-site-blocks>main,
body.bam-profiles-index-active .wp-site-blocks>main,
body.bam-awards-hub-active .wp-site-blocks>main,
body.bam-homepage-preview-active .wp-site-blocks>main,
body.bam-homepage-live-active .wp-site-blocks>main,
body.bam-site-info-live-active .wp-site-blocks>main,
body.bam-partners-placeholder-active .wp-site-blocks>main,
body.bam-beta-body .wp-site-blocks>main,
body.bam-results-runtime-active .site-main,
body.bam-profiles-index-active .site-main,
body.bam-awards-hub-active .site-main,
body.bam-homepage-preview-active .site-main,
body.bam-homepage-live-active .site-main,
body.bam-site-info-live-active .site-main,
body.bam-partners-placeholder-active .site-main,
body.bam-beta-body .site-main,
body.bam-results-runtime-active .entry-content,
body.bam-profiles-index-active .entry-content,
body.bam-awards-hub-active .entry-content,
body.bam-homepage-preview-active .entry-content,
body.bam-homepage-live-active .entry-content,
body.bam-site-info-live-active .entry-content,
body.bam-partners-placeholder-active .entry-content,
body.bam-beta-body .entry-content{
  min-height:0!important;
  height:auto!important;
  margin-bottom:0!important;
}


/* 0.3.0 — global page-end handoff.
 * The theme can stretch <main> / content wrappers to the viewport with flex-grow
 * or min-height. On short BA pages that produced the large black spacer between
 * the last real component and the canonical Bass Awards footer. BA owns the
 * frontend shell, so page wrappers size to content and the footer follows
 * immediately after the last component. */
body.bam-ui-core .wp-site-blocks{
  min-height:0!important;
  height:auto!important;
  row-gap:0!important;
}
body.bam-ui-core .wp-site-blocks>main,
body.bam-ui-core #page,
body.bam-ui-core .site,
body.bam-ui-core .site-content,
body.bam-ui-core #primary,
body.bam-ui-core .content-area,
body.bam-ui-core .site-main,
body.bam-ui-core .entry-content{
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  flex-grow:0!important;
  flex-shrink:0!important;
  flex-basis:auto!important;
  margin-bottom:0!important;
}
body.bam-ui-core .wp-site-blocks>main{
  padding-bottom:0!important;
  margin-block-end:0!important;
}
body.bam-ui-core .bam-site-footer-preview{
  margin-block-start:0!important;
}


/* 0.3.1 — remove WordPress template-only trailing spacer blocks.
 * The site template inserts two 100px .wp-block-spacer elements as direct
 * siblings immediately after <main>. They are not BA content and caused the
 * persistent black gap before the canonical footer. Keep profile-directory
 * pages excluded because their page-end is already correct. Internal spacers
 * inside <main> are intentionally untouched. */
body.bam-homepage-preview-active .wp-site-blocks>main~.wp-block-spacer,
body.bam-homepage-live-active .wp-site-blocks>main~.wp-block-spacer,
body.bam-awards-hub-active .wp-site-blocks>main~.wp-block-spacer,
body.bam-results-runtime-active .wp-site-blocks>main~.wp-block-spacer,
body.bam-site-info-live-active .wp-site-blocks>main~.wp-block-spacer,
body.bam-site-preview-active .wp-site-blocks>main~.wp-block-spacer,
body.bam-partners-placeholder-active .wp-site-blocks>main~.wp-block-spacer{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}
