:root {
  --bf-bg: #f8f6ef;
  --bf-panel: #fffaf0;
  --bf-ink: #151512;
  --bf-muted: #68645a;
  --bf-brand: #ff6a00;
  --bf-brand-2: #ff8a3d;
  --bf-dark: #171713;
  --bf-line: #e7dcc7;
  --bf-radius-xl: 28px;
  --bf-radius-lg: 24px;
  --bf-shadow-soft: 0 20px 60px rgba(30, 24, 10, 0.1);
  --bf-max: 1120px;
  --bf-header-max: 1500px;
  --bf-button-radius: 999px;
  --bf-section-space: 68px;
}

body {
  background: var(--bf-bg);
  color: var(--bf-ink);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  line-height: 1.6;
}

a {
  color: inherit;
}

a,
button,
input,
select,
textarea,
summary {
  touch-action: manipulation;
}

button,
[type="button"],
[type="submit"],
[role="button"],
summary,
a[href] {
  cursor: pointer;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--bf-brand);
  outline-offset: 3px;
}

h1,
h2,
h3,
h4 {
  color: var(--bf-ink);
  letter-spacing: -0.04em;
}

.site-header {
  background: rgba(248, 246, 239, 0.9);
  border-bottom: 1px solid var(--bf-line);
  backdrop-filter: blur(16px);
}

.site-header__inner,
.site-footer__inner,
.wrap,
.entry-content > * {
  width: min(1120px, 92vw);
}

.site-header__inner {
  width: min(var(--bf-header-max), 96vw);
}

.site-header__inner {
  min-height: 76px;
}

.site-branding {
  gap: 10px;
  font-size: 1.26rem;
  font-weight: 950;
  letter-spacing: -0.04em;
}

.site-branding .custom-logo {
  max-width: 58px;
  max-height: 58px;
  object-fit: contain;
}

.site-branding__mark {
  display: none;
}

.site-branding__text,
.site-branding .custom-logo-link::after {
  color: var(--bf-ink);
}

.site-branding__text::after {
  content: "";
}

.site-branding__text span,
.site-footer .footer-title span {
  color: var(--bf-brand);
}

.primary-menu {
  gap: 6px;
  flex-wrap: nowrap;
}

.submenu-toggle {
  display: none;
}

.main-navigation {
  flex: 1 1 auto;
  justify-content: flex-end;
  min-width: 0;
}

.primary-menu a {
  padding: 10px 8px;
  min-height: 44px;
  border-radius: 999px;
  color: var(--bf-ink);
  font-size: 0.9rem;
  font-weight: 780;
}

.primary-menu a:hover,
.primary-menu .current-menu-item > a,
.primary-menu .current-menu-ancestor > a {
  background: #fff3d8;
  color: #8d5b08;
}

.primary-menu .sub-menu {
  top: calc(100% + 12px);
  min-width: 245px;
  background: #fff;
  border-color: var(--bf-line);
  border-radius: 18px;
  box-shadow: var(--bf-shadow-soft);
}

.primary-menu .sub-menu a {
  border-radius: 12px;
}

.header-cta,
.wp-block-button__link,
.bf-button,
.sticky-cta .btn {
  min-height: 44px;
  min-width: 44px;
  padding: 14px 22px;
  background: var(--bf-brand);
  color: #201407;
  border-radius: var(--bf-button-radius);
  box-shadow: var(--bf-shadow-soft);
  font-weight: 850;
}

.header-cta:hover,
.wp-block-button__link:hover,
.bf-button:hover,
.sticky-cta .btn:hover {
  background: var(--bf-brand-2);
  color: #201407;
  transform: translateY(-1px);
}

.header-client-login,
.header-client-menu__button,
.header-client-menu__mobile-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  min-width: 44px;
  padding: 9px 14px;
  border: 1px solid var(--bf-line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: var(--bf-ink);
  font-weight: 900;
  text-decoration: none;
  white-space: nowrap;
}

.header-client-menu__mobile-link {
  display: none;
}

.header-client-menu {
  position: relative;
  z-index: 30;
}

.header-client-menu__button {
  cursor: pointer;
}

.header-client-menu__avatar {
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 999px;
  background: var(--bf-dark);
  color: var(--bf-brand);
  font-size: 0.82rem;
  font-weight: 950;
}

.header-client-menu__dropdown {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  display: grid;
  min-width: 210px;
  padding: 8px;
  border: 1px solid var(--bf-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--bf-shadow-soft);
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: 0.18s ease;
}

.header-client-menu:hover .header-client-menu__dropdown,
.header-client-menu:focus-within .header-client-menu__dropdown,
.header-client-menu.is-open .header-client-menu__dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.header-client-menu__dropdown a {
  min-height: 44px;
  padding: 10px 12px;
  border-radius: 12px;
  color: var(--bf-ink);
  font-weight: 850;
  text-decoration: none;
}

.header-client-menu__dropdown a:hover {
  background: #fff3d8;
  color: #8d5b08;
}

.bf-hero {
  padding: 66px 0 38px;
  background: transparent;
}

.bf-hero .wp-block-columns {
  gap: 42px;
  align-items: center !important;
}

.bf-eyebrow,
.kicker {
  color: var(--bf-brand);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.bf-hero h1,
.bf-section h1,
.entry-content h1 {
  font-size: clamp(2.55rem, 6vw, 5.7rem);
  line-height: 0.9;
  letter-spacing: -0.07em;
}

.bf-section h2,
.bf-cta-band h2,
.entry-content h2 {
  font-size: clamp(2rem, 4vw, 3.35rem);
  line-height: 1;
  letter-spacing: -0.05em;
}

.bf-lead,
.entry-content .bf-lead {
  color: var(--bf-muted);
  font-size: clamp(1.05rem, 2vw, 1.3rem);
  line-height: 1.6;
  max-width: 780px;
}

.bf-hero-card,
.bf-info-card,
.bf-tool-card,
.contactbox {
  background: #fff;
  border: 1px solid var(--bf-line);
  border-radius: var(--bf-radius-lg);
  box-shadow: 0 12px 36px rgba(30, 24, 10, 0.06);
}

.bf-native-contact-form {
  display: grid;
  gap: 14px;
  padding: 22px;
}

.bf-native-contact-form p {
  margin: 0;
}

.bf-native-contact-form label {
  display: block;
  margin-bottom: 6px;
  font-weight: 800;
}

.bf-native-contact-form input,
.bf-native-contact-form textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--bf-line);
  border-radius: 14px;
  background: #fff;
  color: var(--bf-ink);
  font: inherit;
}

.bf-contact-notice {
  width: min(calc(100% - 32px), var(--bf-max));
  margin: 24px auto 0;
  padding: 14px 18px;
  border-radius: 16px;
  font-weight: 800;
}

.bf-contact-notice--success {
  background: #e8f7ed;
  color: #176536;
}

.bf-contact-notice--error {
  background: #fff0e8;
  color: #8b3417;
}

.bf-contact-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.bf-contact-modal.is-open {
  display: flex;
}

.bf-contact-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10, 10, 8, 0.62);
  backdrop-filter: blur(5px);
}

.bf-contact-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 460px);
  padding: 30px;
  border: 1px solid var(--bf-line);
  border-radius: 28px;
  background: #fff;
  color: var(--bf-ink);
  box-shadow: 0 26px 80px rgba(0, 0, 0, 0.25);
  text-align: center;
}

.bf-contact-modal__dialog:focus {
  outline: 3px solid rgba(255, 112, 67, 0.35);
  outline-offset: 4px;
}

.bf-contact-modal__x {
  position: absolute;
  top: 14px;
  right: 16px;
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 999px;
  color: var(--bf-muted);
  font-size: 1.5rem;
  line-height: 1;
  text-decoration: none;
}

.bf-contact-modal__x:hover {
  background: #fff3d8;
  color: var(--bf-ink);
}

.bf-contact-modal__icon {
  display: grid;
  width: 56px;
  height: 56px;
  margin: 0 auto 16px;
  place-items: center;
  border-radius: 999px;
  background: var(--bf-brand);
  color: #201407;
  font-size: 1.55rem;
  font-weight: 950;
}

.bf-contact-modal--error .bf-contact-modal__icon,
.bf-contact-modal--limited .bf-contact-modal__icon {
  background: #fff0e8;
  color: #8b3417;
}

.bf-contact-modal__dialog h2 {
  margin: 0 0 10px;
  font-size: clamp(1.6rem, 4vw, 2.15rem);
  letter-spacing: -0.03em;
}

.bf-contact-modal__dialog p {
  margin: 0 auto 22px;
  color: var(--bf-muted);
  font-size: 1.02rem;
  line-height: 1.55;
}

.bf-contact-modal__button {
  min-width: 130px;
}

.bf-hero-card {
  background: linear-gradient(145deg, #fff 0%, #fff4dc 100%);
  border-radius: var(--bf-radius-xl);
  box-shadow: var(--bf-shadow-soft);
}

.bf-hero-image img {
  border-radius: 24px;
  background: radial-gradient(circle at 30% 20%, #ffd27a, transparent 30%), linear-gradient(145deg, #27241f, #090908);
}

.bf-media-split {
  align-items: center !important;
  gap: clamp(24px, 4vw, 56px);
}

.bf-media-split.bf-holdtraening-split {
  align-items: stretch !important;
}

.bf-holdtraening-split > .wp-block-column {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.bf-holdtraening-b2b-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}

.bf-holdtraening-b2b-actions .bf-btn {
  min-width: 0;
  text-align: center;
  white-space: normal;
}

.bf-image-card {
  margin: 0;
}

.bf-image-card img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--bf-radius-xl);
  box-shadow: var(--bf-shadow-soft);
}

.bf-image-card--cinematic img {
  filter: contrast(0.92) saturate(0.88) brightness(0.92) sepia(0.04);
  transition: filter 180ms ease, transform 180ms ease;
}

.bf-image-card--cinematic img:hover {
  filter: contrast(0.96) saturate(0.94) brightness(0.96) sepia(0.02);
  transform: translateY(-2px);
}

.bf-image-card figcaption {
  margin-top: 10px;
  color: var(--bf-muted);
  font-size: 0.94rem;
}

.bf-training-gallery .bf-image-card img {
  aspect-ratio: 1 / 1;
}

.bf-background-showcase.alignfull,
.bf-trust-block.alignfull {
  width: min(1520px, calc(100% - 40px));
  max-width: none;
  margin-right: auto;
  margin-left: auto;
}

.bf-background-showcase {
  padding: 34px 0 72px;
}

.bf-image-hero {
  position: relative;
  min-height: 640px;
  overflow: hidden;
  border-radius: 14px;
  background-color: #0b0d0f;
  box-shadow: 0 24px 80px rgba(21, 16, 10, 0.22);
  isolation: isolate;
}

.bf-image-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image: url("/wp-content/themes/beastfactory-solid/assets/images/personlig-traening-gergo-coaching-client-dumbbell-cinematic.webp");
  background-size: cover;
  background-position: center right;
}

.bf-image-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 18% 26%, rgba(255, 101, 52, 0.22), transparent 30%),
    linear-gradient(90deg, rgba(8, 10, 12, 0.99) 0%, rgba(8, 10, 12, 0.93) 38%, rgba(8, 10, 12, 0.66) 68%, rgba(8, 10, 12, 0.38) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.52) 100%);
  pointer-events: none;
}

.bf-image-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: center;
  min-height: inherit;
  width: min(760px, 100%);
  padding: 86px;
  color: #fffaf0;
}

.bf-image-hero .bf-eyebrow,
.bf-bg-card .bf-eyebrow,
.bf-trust-block .bf-eyebrow {
  color: #f0b052;
}

.bf-image-hero h2 {
  max-width: 720px;
  margin: 0 0 24px;
  color: #fffaf0;
  font-size: 5.8rem;
  line-height: 0.9;
  letter-spacing: 0;
}

.bf-image-hero__lead {
  max-width: 690px;
  margin: 0 0 34px;
  color: rgba(255, 250, 240, 0.86);
  font-size: 1.35rem;
  line-height: 1.55;
}

.bf-background-showcase .bf-actions,
.bf-trust-block .bf-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin: 0 0 44px;
}

.bf-background-showcase .bf-btn,
.bf-trust-block .bf-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 24px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 999px;
  color: #fffaf0;
  font-weight: 900;
  text-decoration: none;
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(8px);
}

.bf-background-showcase .bf-btn--primary,
.bf-trust-block .bf-btn--primary {
  border-color: transparent;
  color: #160d07;
  background: var(--bf-brand, var(--bf-orange, #ff6534));
}

.bf-proof-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  width: min(760px, 100%);
}

.bf-proof {
  min-height: 116px;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(10px);
}

.bf-proof strong {
  display: block;
  margin-bottom: 6px;
  color: #f5bd61;
  font-size: 1.65rem;
  line-height: 1;
}

.bf-proof span {
  color: rgba(255, 250, 240, 0.82);
  font-size: 0.94rem;
  line-height: 1.45;
}

.bf-bg-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  margin-top: 56px;
}

.bf-bg-card {
  position: relative;
  min-height: 380px;
  overflow: hidden;
  border-radius: 14px;
  color: #fffaf0;
  background-color: #0b0d0f;
  background-size: cover;
  background-position: center;
  box-shadow: 0 18px 60px rgba(21, 16, 10, 0.18);
  isolation: isolate;
}

.bf-bg-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(8, 10, 12, 0.36) 0%, rgba(8, 10, 12, 0.8) 62%, rgba(8, 10, 12, 0.98) 100%);
}

.bf-bg-cards .bf-bg-card:nth-child(1) {
  background-image:
    linear-gradient(180deg, rgba(9, 11, 13, 0.16) 0%, rgba(9, 11, 13, 0.78) 64%, rgba(9, 11, 13, 0.96) 100%),
    url("/wp-content/themes/beastfactory-solid/assets/images/personlig-traening-teknik-coaching-dumbbell-gergo-cinematic.webp");
}

.bf-bg-cards .bf-bg-card:nth-child(2) {
  background-image:
    linear-gradient(180deg, rgba(9, 11, 13, 0.16) 0%, rgba(9, 11, 13, 0.78) 64%, rgba(9, 11, 13, 0.96) 100%),
    url("/wp-content/themes/beastfactory-solid/assets/images/funktionel-fitness-hyrox-crossfit-inspireret-gergo-cinematic.webp");
}

.bf-bg-cards .bf-bg-card:nth-child(3) {
  background-image:
    linear-gradient(180deg, rgba(9, 11, 13, 0.16) 0%, rgba(9, 11, 13, 0.78) 64%, rgba(9, 11, 13, 0.96) 100%),
    url("/wp-content/themes/beastfactory-solid/assets/images/personlig-traening-kost-planlaegning-app-gergo-cinematic.webp");
}

.bf-bg-cards .bf-bg-card:nth-child(4) {
  background-image:
    linear-gradient(180deg, rgba(9, 11, 13, 0.16) 0%, rgba(9, 11, 13, 0.78) 64%, rgba(9, 11, 13, 0.96) 100%),
    url("/wp-content/themes/beastfactory-solid/assets/images/personlig-traening-sportsterapi-gergo-behandling-cinematic.webp");
}

.bf-bg-card__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: inherit;
  padding: 26px;
}

.bf-bg-card h3 {
  margin: 0 0 10px;
  color: #fffaf0;
  font-size: 2.25rem;
  line-height: 0.98;
  overflow-wrap: anywhere;
}

.bf-bg-card p:not(.bf-eyebrow) {
  max-width: 420px;
  margin: 0;
  color: rgba(255, 250, 240, 0.82);
  font-size: 1rem;
  line-height: 1.5;
}

.bf-trust-block {
  position: relative;
  min-height: 560px;
  overflow: hidden;
  border-radius: 14px;
  color: #fffaf0;
  background-color: #0b0d0f;
  background-image: none !important;
  background-size: cover;
  background-position: center left;
  box-shadow: 0 24px 80px rgba(21, 16, 10, 0.18);
  isolation: isolate;
}

.bf-trust-block::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image: url("/wp-content/themes/beastfactory-solid/assets/images/gergo-sara-personlig-traening-egen-traeningsrejse-vaerftet.png");
  background-size: cover;
  background-position: center left;
}

.bf-trust-block::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(9, 11, 13, 0.97) 0%, rgba(9, 11, 13, 0.72) 42%, rgba(9, 11, 13, 0.24) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.46) 100%);
}

.bf-trust-block__content {
  position: relative;
  z-index: 1;
  width: min(620px, 100%);
  margin-right: auto;
  margin-left: 0;
  padding: 84px;
}

.bf-trust-block h2 {
  margin: 0 0 24px;
  color: #fffaf0;
  font-size: 4.4rem;
  line-height: 0.94;
}

.bf-trust-block p {
  color: rgba(255, 250, 240, 0.82);
  font-size: 1.15rem;
  line-height: 1.55;
}

.bf-trust-block a:not(.bf-btn) {
  color: #f5bd61;
}

@media (max-width: 1100px) {
  .bf-bg-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bf-image-hero h2 {
    font-size: 4.2rem;
  }

  .bf-trust-block h2 {
    font-size: 3.4rem;
  }
}

@media (max-width: 700px) {
  .bf-background-showcase.alignfull,
  .bf-trust-block.alignfull {
    width: calc(100% - 24px);
  }

  .bf-background-showcase {
    padding: 18px 0 48px;
  }

  .bf-image-hero {
    min-height: 680px;
  }

  .bf-image-hero::before {
    background-position: center;
  }

  .bf-image-hero::after {
    background:
      radial-gradient(circle at 28% 26%, rgba(255, 101, 52, 0.16), transparent 32%),
      linear-gradient(180deg, rgba(8, 10, 12, 0.88) 0%, rgba(8, 10, 12, 0.72) 44%, rgba(8, 10, 12, 0.97) 100%);
  }

  .bf-image-hero__inner {
    align-content: end;
    padding: 32px 22px;
  }

  .bf-image-hero h2 {
    font-size: 3rem;
  }

  .bf-image-hero__lead {
    font-size: 1.05rem;
  }

  .bf-proof-grid,
  .bf-bg-cards {
    grid-template-columns: 1fr;
  }

  .bf-bg-card {
    min-height: 320px;
  }

  .bf-bg-card h3 {
    font-size: 2rem;
  }

  .bf-trust-block {
    min-height: 680px;
  }

  .bf-trust-block::before {
    background-position: center;
  }

  .bf-trust-block::after {
    background:
      linear-gradient(180deg, rgba(9, 11, 13, 0.26) 0%, rgba(9, 11, 13, 0.76) 42%, rgba(9, 11, 13, 0.98) 100%);
  }

  .bf-trust-block__content {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: inherit;
    padding: 32px 22px;
  }

  .bf-trust-block h2 {
    font-size: 2.7rem;
  }

  .bf-trust-block p {
    font-size: 1rem;
  }
}

/* Background image block readability refinements. */
.bf-image-hero,
.bf-bg-card,
.bf-trust-block {
  background-color: #090a0a;
}

.bf-image-hero::after {
  background:
    radial-gradient(circle at 18% 26%, rgba(255, 101, 52, 0.2), transparent 28%),
    linear-gradient(90deg, rgba(8, 10, 12, 0.99) 0%, rgba(8, 10, 12, 0.94) 42%, rgba(8, 10, 12, 0.72) 66%, rgba(8, 10, 12, 0.42) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.62) 100%);
}

.bf-bg-card::before {
  background: linear-gradient(180deg, rgba(8, 10, 12, 0.5) 0%, rgba(8, 10, 12, 0.82) 48%, rgba(8, 10, 12, 0.98) 100%);
}

.bf-background-showcase h2,
.bf-image-hero h2,
.bf-bg-card h3,
.bf-trust-block h2 {
  color: #fffaf0 !important;
  text-shadow: 0 6px 28px rgba(0, 0, 0, 0.78);
}

.bf-image-hero__lead,
.bf-bg-card p:not(.bf-eyebrow),
.bf-trust-block p {
  color: rgba(255, 250, 240, 0.92);
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.65);
}

.bf-proof-grid {
  align-items: stretch;
}

.bf-proof {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 8px;
  min-width: 0;
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(16, 18, 20, 0.78), rgba(16, 18, 20, 0.55));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.bf-proof strong,
.bf-hero-stats strong,
.bf-hero-stats strong * {
  display: inline !important;
  white-space: nowrap;
}

.bf-proof strong {
  color: #ffb64a;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.5);
}

.bf-proof span {
  max-width: 18ch;
  color: rgba(255, 250, 240, 0.88);
  overflow-wrap: normal;
  word-break: normal;
}

.bf-hero-stats span,
.bf-hero-stats span * {
  display: inline !important;
  background: transparent !important;
}

.bf-trust-block::before {
  background-position: center center;
}

.bf-trust-block::after {
  background:
    linear-gradient(90deg, rgba(9, 11, 13, 0.94) 0%, rgba(9, 11, 13, 0.8) 36%, rgba(9, 11, 13, 0.28) 62%, rgba(9, 11, 13, 0.72) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.52) 100%);
}

.bf-trust-block__content {
  max-width: 560px;
  margin-right: auto;
  margin-left: 0;
}

@media (max-width: 700px) {
  .bf-proof {
    min-height: auto;
  }

  .bf-proof span {
    max-width: none;
  }

  .bf-trust-block::before {
    background-position: center;
  }

  .bf-trust-block::after {
    background:
      linear-gradient(180deg, rgba(9, 11, 13, 0.18) 0%, rgba(9, 11, 13, 0.72) 48%, rgba(9, 11, 13, 0.98) 100%);
  }
}

.bf-app-preview {
  background: linear-gradient(145deg, #171713 0%, #2b2924 100%);
  color: #fff;
  margin-top: 18px;
}

.bf-app-preview h3,
.bf-app-preview p {
  color: #fff;
}

.bf-section {
  padding: var(--bf-section-space) 0;
}

.bf-section--soft {
  background: transparent;
}

.bf-section--dark {
  background: var(--bf-dark);
  color: #fff;
}

.bf-section--dark h2,
.bf-section--dark h3,
.bf-section--dark p {
  color: #fff;
}

.bf-section--dark .bf-lead {
  color: #c9c3b8;
}

.bf-section--dark .bf-info-card {
  background: #24231e;
  border-color: #39362d;
}

.bf-price-list {
  max-width: 860px;
  color: #f8f3e8;
  background:
    radial-gradient(circle at 92% 8%, rgba(243, 112, 33, 0.14), transparent 30%),
    linear-gradient(135deg, #070707 0%, #15120d 52%, #090909 100%);
  border: 1px solid rgba(192, 132, 45, 0.62);
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.32);
}

.bf-price-list p {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 18px;
  padding: 17px 0;
  margin: 0;
  border-bottom: 1px solid rgba(192, 132, 45, 0.28);
}

.bf-price-list p:last-child {
  border-bottom: 0;
}

.bf-price-list strong {
  color: #fffaf0;
  font-size: clamp(1rem, 2vw, 1.18rem);
  font-weight: 900;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.bf-price-list span {
  color: #f4a62a;
  font-weight: 950;
  white-space: nowrap;
}

.bf-price-board {
  --bf-price-gold: #c8933f;
  --bf-price-gold-soft: rgba(200, 147, 63, 0.3);
  --bf-price-bg: #060606;
  --bf-price-panel: rgba(12, 12, 10, 0.92);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin: clamp(30px, 5vw, 58px) auto 0;
  padding: clamp(22px, 4vw, 42px);
  color: #fffaf0;
  background:
    radial-gradient(circle at 80% 8%, rgba(255, 255, 255, 0.13), transparent 20%),
    radial-gradient(circle at 15% 92%, rgba(243, 112, 33, 0.16), transparent 30%),
    linear-gradient(135deg, #030303 0%, #11100d 50%, #050505 100%);
  border: 1px solid rgba(200, 147, 63, 0.5);
  border-radius: 14px;
  box-shadow: 0 34px 110px rgba(0, 0, 0, 0.46);
}

.bf-price-board::before {
  content: "";
  position: absolute;
  inset: -18% -14% auto auto;
  z-index: -1;
  width: min(560px, 68vw);
  aspect-ratio: 1.6;
  background:
    linear-gradient(135deg, transparent 15%, rgba(255, 255, 255, 0.1), transparent 62%),
    radial-gradient(circle, rgba(200, 147, 63, 0.18), transparent 68%);
  opacity: 0.72;
  transform: rotate(-8deg);
}

.bf-price-board * {
  box-sizing: border-box;
}

.bf-price-board__hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
  gap: clamp(20px, 4vw, 44px);
  align-items: end;
  padding-bottom: clamp(22px, 4vw, 36px);
  border-bottom: 1px solid var(--bf-price-gold-soft);
}

.bf-price-board__brand,
.bf-price-board__section-head p {
  margin: 0 0 6px;
  color: var(--bf-orange);
  font-size: 0.82rem;
  font-weight: 950;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.bf-price-board__hero h2 {
  margin: 0;
  color: #f5f0e8;
  font-size: clamp(3.1rem, 10vw, 7.8rem);
  line-height: 0.82;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  text-shadow: 0 18px 52px rgba(0, 0, 0, 0.54);
}

.bf-price-board__tagline {
  display: block;
  margin-top: 12px;
  color: #d7b774;
  font-size: clamp(1rem, 2vw, 1.25rem);
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.bf-price-board__meta {
  display: flex;
  justify-content: flex-end;
  align-content: end;
}

.bf-price-board__meta p {
  margin: 0;
  color: rgba(255, 250, 240, 0.74);
  font-size: 1rem;
  line-height: 1.7;
}

.bf-price-board__sync {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  padding: 8px 12px;
  color: #f1d29a;
  background: rgba(200, 147, 63, 0.12);
  border: 1px solid rgba(200, 147, 63, 0.38);
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 850;
  line-height: 1.35;
  text-align: right;
}

.bf-price-board__sections {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(20px, 3vw, 34px);
  margin-top: clamp(24px, 4vw, 38px);
}

.bf-price-board__section {
  min-width: 0;
  overflow: hidden;
  padding: clamp(16px, 3vw, 24px);
  background: linear-gradient(180deg, rgba(18, 17, 14, 0.92), rgba(7, 7, 7, 0.86));
  border: 1px solid rgba(200, 147, 63, 0.58);
  border-radius: 10px;
}

.bf-price-board__section--nutrition,
.bf-price-board__section--memberships,
.bf-price-board__section--ygig,
.bf-price-board__section--online,
.bf-price-board__section--functional,
.bf-price-board__section--summer {
  grid-column: 1 / -1;
}

.bf-price-board--sportsterapi .bf-price-board__sections,
.bf-price-board--sportsterapi_recovery .bf-price-board__sections,
.bf-price-board--training .bf-price-board__sections,
.bf-price-board--training_core .bf-price-board__sections,
.bf-price-board--city_training .bf-price-board__sections,
.bf-price-board--nutrition .bf-price-board__sections,
.bf-price-board--memberships .bf-price-board__sections,
.bf-price-board--ygig .bf-price-board__sections,
.bf-price-board--online_training .bf-price-board__sections,
.bf-price-board--weight_loss_support .bf-price-board__sections,
.bf-price-board--functional .bf-price-board__sections {
  grid-template-columns: 1fr;
}

.bf-price-board__section-head {
  margin-bottom: 14px;
  text-align: center;
}

.bf-price-board__section-head h3 {
  margin: 0;
  color: #f8f3e8;
  font-size: clamp(1.6rem, 4vw, 2.6rem);
  line-height: 0.95;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.bf-price-board__section-head span {
  display: inline-block;
  margin-top: 8px;
  color: #d59a37;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.bf-price-board__list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.bf-price-board__section--nutrition .bf-price-board__list,
.bf-price-board__section--memberships .bf-price-board__list,
.bf-price-board__section--ygig .bf-price-board__list,
.bf-price-board__section--online .bf-price-board__list,
.bf-price-board__section--functional .bf-price-board__list,
.bf-price-board__section--summer .bf-price-board__list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(18px, 3vw, 34px);
}

.bf-price-board__item {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) minmax(118px, max-content);
  column-gap: clamp(10px, 1.6vw, 18px);
  row-gap: 6px;
  align-items: center;
  min-width: 0;
  padding: 15px 0;
  border-top: 1px solid rgba(200, 147, 63, 0.24);
}

.bf-price-board__icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  color: #dba44b;
  border: 1px solid rgba(200, 147, 63, 0.68);
  border-radius: 50%;
  font-weight: 950;
}

.bf-price-board__icon svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.bf-price-board__icon svg text {
  fill: currentColor;
  stroke: none;
  font-size: 7px;
  font-weight: 950;
}

.bf-price-board__icon-text {
  color: currentColor;
  font-size: 0.78rem;
  font-weight: 950;
}

.bf-price-board__copy {
  min-width: 0;
  max-width: 100%;
  padding-right: 6px;
}

.bf-price-board__copy strong,
.bf-price-board__copy em,
.bf-price-board__copy small {
  display: block;
}

.bf-price-board__copy strong {
  color: #fffaf0;
  font-size: clamp(0.74rem, 1.12vw, 1rem);
  line-height: 1.08;
  letter-spacing: 0.018em;
  text-transform: uppercase;
  white-space: normal;
  text-wrap: balance;
  overflow-wrap: anywhere;
  word-break: normal;
}

.bf-price-board__copy em {
  margin-top: 2px;
  color: #d89a30;
  font-style: normal;
  font-weight: 850;
  font-size: clamp(0.68rem, 0.96vw, 0.82rem);
  line-height: 1.12;
  letter-spacing: 0.035em;
  text-transform: uppercase;
  white-space: normal;
  text-wrap: balance;
  overflow-wrap: anywhere;
}

.bf-price-board__copy small {
  margin-top: 3px;
  color: rgba(255, 250, 240, 0.72);
  font-size: clamp(0.78rem, 1vw, 0.9rem);
  line-height: 1.18;
  white-space: normal;
}

.bf-price-board__price {
  justify-self: end;
  min-width: 118px;
  color: #f7f0df;
  font-size: clamp(1rem, 1.82vw, 1.48rem);
  font-weight: 950;
  line-height: 1;
  text-align: right;
  white-space: nowrap;
}

.bf-price-board__price .bf-planway-price {
  display: block;
  color: inherit;
}

.bf-price-board .bf-price-board__item {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) minmax(124px, 154px) !important;
}

.bf-price-board .bf-price-board__copy {
  min-width: 0;
  overflow: visible;
  padding-right: 12px;
}

.bf-price-board .bf-price-board__copy strong,
.bf-price-board .bf-price-board__copy em,
.bf-price-board .bf-price-board__copy small {
  max-width: 100%;
  white-space: normal !important;
  overflow-wrap: break-word;
  word-break: normal;
}

.bf-price-board .bf-price-board__copy strong {
  font-size: clamp(0.66rem, 0.82vw, 0.84rem) !important;
  letter-spacing: 0.01em;
  line-height: 1.08;
}

.bf-price-board .bf-price-board__copy em {
  font-size: clamp(0.58rem, 0.74vw, 0.72rem) !important;
  line-height: 1.12;
}

.bf-price-board .bf-price-board__price {
  width: auto !important;
  min-width: 124px !important;
  max-width: 154px !important;
  padding-left: 10px !important;
  background: transparent !important;
  font-size: clamp(0.88rem, 1.1vw, 1.08rem) !important;
  font-variant-numeric: tabular-nums;
}

.bf-price-board__info {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin-top: 22px;
  border: 1px solid rgba(200, 147, 63, 0.48);
  border-radius: 10px;
  overflow: hidden;
}

.bf-price-board__info span {
  display: block;
  min-width: 0;
  padding: 16px 18px;
  color: rgba(255, 250, 240, 0.75);
  border-right: 1px solid rgba(200, 147, 63, 0.26);
  font-size: 0.92rem;
  line-height: 1.45;
}

.bf-price-board__info span:last-child {
  border-right: 0;
}

.bf-price-board__info strong {
  display: block;
  color: #fffaf0;
  font-size: 0.95rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.bf-price-board__footer {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 22px;
  align-items: center;
  justify-content: center;
  margin-top: 24px;
  padding-top: 22px;
  border-top: 1px solid var(--bf-price-gold-soft);
  text-align: center;
}

.bf-price-board__footer strong {
  color: #fffaf0;
  font-size: clamp(1.4rem, 3vw, 2.2rem);
  font-weight: 950;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.bf-price-board__footer span {
  color: #d9cba9;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.bf-price-board__footer .bf-btn {
  color: #111;
  background: linear-gradient(135deg, #f3b34a, #ff6a00);
  border-color: transparent;
}

.editor-styles-wrapper .bf-price-board {
  max-width: 100%;
  margin-top: 24px;
}

.editor-styles-wrapper .bf-price-board__hero {
  grid-template-columns: 1fr;
  align-items: start;
}

.editor-styles-wrapper .bf-price-board__hero h2 {
  font-size: clamp(2.8rem, 9vw, 5rem);
  line-height: 0.9;
}

.editor-styles-wrapper .bf-price-board__meta p {
  max-width: 680px;
}

@media (max-width: 880px) {
  .bf-price-board__hero,
  .bf-price-board__sections {
    grid-template-columns: 1fr;
  }

  .bf-price-board__section--nutrition,
  .bf-price-board__section--memberships,
  .bf-price-board__section--ygig,
  .bf-price-board__section--online,
  .bf-price-board__section--functional,
  .bf-price-board__section--summer {
    grid-column: auto;
  }

  .bf-price-board__section--nutrition .bf-price-board__list,
  .bf-price-board__section--memberships .bf-price-board__list,
  .bf-price-board__section--ygig .bf-price-board__list,
  .bf-price-board__section--online .bf-price-board__list,
  .bf-price-board__section--functional .bf-price-board__list,
  .bf-price-board__section--summer .bf-price-board__list {
    grid-template-columns: 1fr;
  }

  .bf-price-board__meta {
    justify-content: flex-start;
  }

  .bf-price-board__info {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bf-price-board__info span:nth-child(2n) {
    border-right: 0;
  }
}

@media (max-width: 560px) {
  .bf-price-board {
    padding: 18px;
    border-radius: 12px;
  }

  .bf-price-board__hero h2 {
    font-size: clamp(2.65rem, 18vw, 4.6rem);
  }

  .bf-price-board .bf-price-board__item {
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 12px;
  }

  .bf-price-board__icon {
    width: 38px;
    height: 38px;
  }

  .bf-price-board .bf-price-board__price {
    grid-column: 2;
    justify-self: start;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-top: -6px;
    padding-left: 0 !important;
    background: none !important;
    white-space: normal;
  }

  .bf-price-board__copy strong,
  .bf-price-board__copy em,
  .bf-price-board__copy small {
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: auto;
  }

  .bf-price-board__info {
    grid-template-columns: 1fr;
  }

  .bf-price-board__info span {
    border-right: 0;
    border-bottom: 1px solid rgba(200, 147, 63, 0.26);
  }

  .bf-price-board__info span:last-child {
    border-bottom: 0;
  }

  .bf-price-list p {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .bf-price-list span {
    white-space: normal;
  }
}

.bf-grid-4,
.bf-grid-3,
.bf-grid-2,
.bf-tool-grid {
  gap: 18px;
}

.bf-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.bf-info-card {
  height: 100%;
  padding: 26px;
}

.bf-grid-compact.wp-block-columns,
.page-id-864 .entry-content > .bf-section:nth-child(2) .wp-block-columns {
  align-items: stretch !important;
}

.bf-grid-compact .wp-block-column,
.page-id-864 .entry-content > .bf-section:nth-child(2) .wp-block-column {
  display: flex;
  align-self: stretch !important;
  min-height: 0 !important;
  height: auto !important;
}

.bf-grid-compact .bf-info-card,
.page-id-864 .entry-content > .bf-section:nth-child(2) .bf-info-card {
  min-height: 0 !important;
  height: 100% !important;
  padding: clamp(20px, 2vw, 26px);
  width: 100%;
}

.bf-grid-compact .bf-info-card h3,
.page-id-864 .entry-content > .bf-section:nth-child(2) .bf-info-card h3 {
  margin: 0 0 clamp(18px, 2.2vw, 30px);
}

.bf-grid-compact .bf-info-card p,
.page-id-864 .entry-content > .bf-section:nth-child(2) .bf-info-card p {
  margin: 0;
}

.bf-info-card h3,
.bf-tool-card h2 {
  margin-bottom: 10px;
  font-size: 1.35rem;
  letter-spacing: -0.03em;
}

.entry-content .wp-block-columns.bf-grid-4 {
  align-items: stretch !important;
  display: grid !important;
  gap: clamp(16px, 1.8vw, 24px) !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: clamp(20px, 3vw, 34px);
  max-width: min(calc(100% - 32px), var(--bf-max)) !important;
  width: 100% !important;
}

.entry-content .wp-block-columns.bf-grid-4 > .wp-block-column {
  display: flex !important;
  flex: none !important;
  flex-basis: auto !important;
  margin-left: 0 !important;
  max-width: none !important;
  min-width: 0 !important;
  width: auto !important;
}

.entry-content .wp-block-columns.bf-grid-4 .bf-info-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  height: 100% !important;
  min-height: clamp(190px, 16vw, 230px) !important;
  padding: clamp(18px, 1.8vw, 24px);
  width: 100%;
}

.entry-content .wp-block-columns.bf-grid-4 .bf-info-card h3 {
  font-size: clamp(1.15rem, 1.25vw, 1.35rem);
  margin: 0;
}

.entry-content .wp-block-columns.bf-grid-4 .bf-info-card p {
  font-size: clamp(0.96rem, 1vw, 1.05rem);
  line-height: 1.45;
  margin: 0;
}

.entry-content .wp-block-columns.bf-grid-4 .wp-block-buttons {
  margin-top: auto;
  padding-top: 8px;
}

.entry-content .wp-block-columns.bf-grid-4 .wp-block-button__link {
  padding: 12px 18px;
  white-space: normal;
}

@media (max-width: 1080px) {
  .entry-content .wp-block-columns.bf-grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  .entry-content .wp-block-columns.bf-grid-4 {
    grid-template-columns: 1fr !important;
  }

  .entry-content .wp-block-columns.bf-grid-4 .bf-info-card {
    min-height: 0 !important;
  }
}

.bf-stat p {
  margin: 0;
}

.bf-stat strong,
.bf-stat span {
  display: block;
}

.bf-cta-band {
  padding: 68px 0;
  background: var(--bf-dark);
  color: #fff;
}

.bf-cta-band h2,
.bf-cta-band p {
  color: #fff;
}

.bf-cta-band .bf-lead {
  color: #c9c3b8;
}

.bf-tools {
  padding: 44px 0 70px;
}

.bf-tool-card {
  padding: 26px;
}

.bf-field label {
  color: var(--bf-ink);
  font-weight: 850;
}

.bf-field input,
.bf-field select,
.bf-field textarea,
.input {
  min-height: 52px;
  padding: 15px 16px;
  border: 1px solid var(--bf-line);
  border-radius: 14px;
  color: var(--bf-ink);
}

.bf-result {
  display: block;
  background: #fff6df;
  border: 1px solid #ebc77e;
  border-left: 1px solid #ebc77e;
  border-radius: 18px;
  font-weight: 850;
}

.bf-result:empty {
  display: none;
}

.bf-field--checkbox {
  align-content: end;
}

.bf-field--checkbox label {
  display: flex;
  align-items: center;
  min-height: 52px;
  gap: 10px;
  padding: 15px 16px;
  border: 1px solid var(--bf-line);
  border-radius: 14px;
  background: #fff;
}

.bf-field--checkbox input {
  width: auto;
  min-height: 0;
}

.bf-result--workout {
  padding: 0;
  overflow: hidden;
  background: #10151b;
  border-color: rgba(255, 111, 61, 0.38);
  color: #fff;
  font-weight: 700;
}

.bf-workout-plan {
  display: grid;
  gap: 18px;
  padding: clamp(18px, 3vw, 28px);
}

.bf-workout-plan__head span,
.bf-workout-plan__notes strong {
  color: var(--bf-brand);
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.bf-workout-plan__head h3 {
  margin: 6px 0 8px;
  color: #fff;
  font-size: clamp(1.45rem, 3vw, 2.4rem);
  line-height: 1;
}

.bf-workout-plan__head p {
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
}

.bf-workout-plan__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.bf-workout-plan__chips span {
  padding: 7px 10px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  background: rgba(255, 111, 61, 0.12);
  color: #fff;
  font-size: 0.85rem;
  font-weight: 900;
}

.bf-workout-plan__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.bf-workout-plan section,
.bf-workout-plan__notes {
  padding: 16px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.05);
}

.bf-workout-plan h4 {
  margin: 0 0 10px;
  color: #fff;
  font-size: 1rem;
}

.bf-workout-plan ul {
  display: grid;
  gap: 7px;
  margin: 0;
  padding-left: 18px;
  color: rgba(255, 255, 255, 0.82);
}

.bf-workout-plan li {
  overflow-wrap: anywhere;
}

.bf-today-program {
  width: min(100%, var(--bf-max));
  margin: 40px auto;
  padding: 34px;
  border-radius: var(--bf-radius-lg);
  background: #10151b;
  color: #fff;
  text-align: center;
}

.bf-today-program * {
  box-sizing: border-box;
}

.bf-today-program__title {
  margin: 30px 0 18px;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.bf-today-program__title:first-child {
  margin-top: 0;
}

.bf-today-program__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  width: 100%;
  margin-inline: auto;
}

.bf-today-program__card,
.bf-today-program__wodrox {
  padding: 26px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 14px;
  background: linear-gradient(180deg, #1c222b 0%, #141a21 100%);
  box-shadow: 0 8px 26px rgba(0, 0, 0, 0.35);
}

.bf-today-program__wodrox {
  max-width: 920px;
  margin-inline: auto;
  padding: 30px;
  background: linear-gradient(180deg, #151b22 0%, #0f141a 100%);
}

.bf-today-program h3 {
  margin-bottom: 18px;
  color: #fff;
  font-size: 1.08rem;
  font-weight: 900;
  text-transform: uppercase;
}

.bf-today-program__content {
  text-align: center;
  font-size: 0.98rem;
  line-height: 1.5;
}

.bf-today-program p {
  margin: 6px 0;
  color: #fff;
}

.bf-today-program .bf-underline {
  font-weight: 800;
  text-decoration: underline;
}

.bf-today-program__wodrox strong {
  color: #ffb300;
}

.bf-app-migration-notice {
  width: min(calc(100% - 32px), var(--bf-max));
  margin: 16px auto clamp(20px, 4vw, 42px);
  padding: clamp(18px, 3vw, 28px);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: clamp(14px, 3vw, 24px);
  align-items: center;
  border: 1px solid rgba(243, 112, 33, 0.32);
  border-radius: 24px;
  background:
    radial-gradient(circle at top left, rgba(243, 112, 33, 0.2), transparent 36%),
    linear-gradient(135deg, #171717 0%, #201912 58%, #30160b 100%);
  color: #fff;
  box-shadow: 0 24px 58px rgba(17, 17, 17, 0.18);
  overflow: hidden;
}

.bf-app-migration-notice__badge {
  width: 62px;
  height: 62px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.08);
  color: #ff8a3d;
  font-size: 0.82rem;
  font-weight: 950;
  letter-spacing: 0.12em;
}

.bf-app-migration-notice__content {
  min-width: 0;
}

.bf-app-migration-notice__eyebrow {
  margin: 0 0 8px;
  color: #ff8a3d;
  font-size: 0.75rem;
  font-weight: 950;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.bf-app-migration-notice h2 {
  margin: 0 0 10px;
  max-width: 850px;
  color: #fff;
  font-size: clamp(1.35rem, 2.5vw, 2.1rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
}

.bf-app-migration-notice p {
  margin: 0;
  max-width: 880px;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.6;
}

.bf-app-migration-notice__small {
  margin-top: 8px !important;
  color: rgba(255, 255, 255, 0.62) !important;
  font-size: 0.92rem;
}

.bf-app-migration-notice__link {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  max-width: 100%;
  padding: 12px 18px;
  border-radius: 999px;
  background: var(--bf-brand);
  color: #201407;
  font-weight: 950;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 12px 28px rgba(243, 112, 33, 0.28);
}

.bf-app-migration-notice__link:hover {
  transform: translateY(-1px);
  background: #ff8a3d;
  color: #111;
}

.bf-leaderboard {
  padding: 44px 0 70px;
}

.bf-leaderboard__head {
  margin-bottom: 24px;
}

.bf-leaderboard-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 14px;
}

.bf-leaderboard-tabs a,
.bf-leaderboard-workout-list a,
.bf-leaderboard-notice {
  border: 1px solid var(--bf-line);
  border-radius: 999px;
  background: #fff;
  color: var(--bf-ink);
  text-decoration: none;
  font-weight: 850;
}

.bf-leaderboard-tabs a {
  padding: 10px 16px;
}

.bf-leaderboard-tabs a.is-active,
.bf-leaderboard-workout-list a.is-active {
  background: var(--bf-brand);
  border-color: var(--bf-brand);
  color: #201407;
}

.bf-leaderboard-tabs--secondary a.is-active {
  background: #fff3d8;
  border-color: #f2d297;
  color: #8d5b08;
}

.bf-leaderboard-layout {
  display: grid;
  grid-template-columns: minmax(240px, 0.75fr) minmax(0, 1.55fr);
  gap: 18px;
  margin-top: 22px;
}

.bf-leaderboard-card {
  position: relative;
  overflow: hidden;
  padding: 24px;
  background: #fff;
  border: 1px solid var(--bf-line);
  border-radius: var(--bf-radius-lg);
  box-shadow: 0 12px 36px rgba(30, 24, 10, 0.06);
}

.bf-leaderboard-card > * {
  position: relative;
  z-index: 2;
}

.bf-workout-picker {
  display: grid;
  gap: 16px;
  margin: 28px 0;
}

.bf-workout-picker label {
  display: grid;
  gap: 8px;
  font-weight: 850;
}

.bf-workout-picker select {
  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid var(--bf-line);
  border-radius: 14px;
  background: #fff;
  color: var(--bf-ink);
  font: inherit;
}

.bf-workout-picker__details {
  display: grid;
  gap: 8px;
}

.bf-workout-picker__details p {
  margin: 0;
}

.bf-workout-picker__standards {
  white-space: pre-line;
  color: var(--bf-muted);
}

.bf-workout-block {
  display: grid;
  gap: 9px;
  width: 100%;
  max-width: 980px;
  margin: 24px auto;
  padding: 22px;
  border-radius: 14px;
  text-align: center;
}

.bf-workout-block--dark {
  background: linear-gradient(180deg, #1c222b 0%, #141a21 100%);
  border: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: 0 8px 26px rgba(0, 0, 0, 0.35);
  color: #fff;
}

.bf-workout-block--light {
  background: #fff;
  border: 1px solid var(--bf-line);
  box-shadow: 0 12px 36px rgba(30, 24, 10, 0.06);
  color: var(--bf-ink);
}

.bf-workout-block h3 {
  margin: 0;
  color: inherit;
  font-size: clamp(1.18rem, 1.65vw, 1.72rem);
  line-height: 1.04;
  font-weight: 900;
  text-transform: uppercase;
}

.bf-workout-block p {
  margin: 0;
}

.bf-workout-block__eyebrow {
  color: var(--bf-brand);
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.bf-workout-block__meta,
.bf-workout-block__standards {
  opacity: 0.78;
  font-size: 0.92rem;
}

.bf-workout-block__text,
.bf-workout-block__standards {
  max-width: 760px;
  margin-inline: auto;
  white-space: pre-line;
  line-height: 1.48;
}

.bf-workout-block__text p,
.bf-workout-block__standards p {
  margin: 6px 0;
}

.bf-workout-block__sections {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
  margin-top: 10px;
  text-align: left;
}

.bf-workout-block__section {
  display: grid;
  gap: 6px;
  padding: 13px 14px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.06);
  line-height: 1.35;
}

.bf-workout-block--light .bf-workout-block__section {
  background: #fff7e7;
}

.bf-workout-block__section h4 {
  margin: 0;
  color: var(--bf-brand);
  font-size: 0.86rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.bf-workout-block__section-meta,
.bf-workout-block__section-notes {
  opacity: 0.78;
  font-size: 0.84rem;
}

.bf-workout-block__cardio-options {
  display: grid;
  gap: 6px;
  padding: 10px 11px;
  border-radius: 10px;
  background: rgba(255, 122, 48, 0.14);
}

.bf-workout-block__cardio-options strong {
  color: var(--bf-brand);
  text-transform: uppercase;
}

.bf-workout-block__cardio-options ul,
.bf-workout-block__exercise-list {
  margin: 0;
  padding-left: 1.2rem;
}

.bf-workout-block__exercise-list {
  display: grid;
  gap: 4px 18px;
  font-size: 0.95rem;
}

.bf-workout-block__exercise-list li::marker {
  color: var(--bf-brand);
  font-weight: 900;
}

.bf-workout-block--wodrox .bf-workout-block__sections {
  grid-template-columns: minmax(0, 760px);
  justify-content: center;
}

.bf-workout-block--wodrox .bf-workout-block__exercise-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bf-today-program--database {
  display: grid;
  gap: 18px;
  max-width: 1060px;
  margin: 34px auto;
}

.bf-today-program--database .bf-workout-block {
  margin: 0 auto;
}

.bf-weekly-programs__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 18px;
}

.bf-weekly-programs__grid .bf-workout-block {
  min-height: 100%;
}

.bf-workout-score-entry {
  width: 100%;
  max-width: 980px;
  margin: -4px auto 34px;
}

.bf-workout-score-entry .bf-leaderboard-card {
  border-color: rgba(243, 112, 33, 0.28);
  background: #fffaf0;
}

.bf-workout-score-entry h3 {
  margin-top: 0;
}

.bf-workout-score-entry__details {
  display: grid;
  gap: 16px;
}

.bf-workout-score-entry__details summary {
  width: fit-content;
  list-style: none;
}

.bf-workout-score-entry__details summary::-webkit-details-marker {
  display: none;
}

.bf-workout-score-entry__details[open] summary {
  margin-bottom: 12px;
}

.bf-workout-score-entry__selected {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(255, 111, 61, 0.12);
  color: var(--bf-ink);
  font-weight: 850;
}

#bf-client-access {
  margin-top: 18px;
}

.bf-admin-subpanel,
.bf-admin-client-search {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--bf-line);
}

.bf-workout-block-editor {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 14px;
  padding: 14px;
  border: 1px solid var(--bf-line);
  border-radius: 14px;
  background: #fff;
  color: var(--bf-ink);
}

.bf-workout-block-editor .components-base-control {
  margin-bottom: 0;
}

.bf-workout-block-missing {
  padding: 16px;
  border: 1px dashed var(--bf-line);
  border-radius: 14px;
  background: #fffaf0;
  color: var(--bf-muted);
}

.bf-leaderboard--lego .bf-leaderboard-card::before,
.bf-leaderboard--lego .bf-leaderboard-card::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 1;
  pointer-events: none;
}

.bf-leaderboard--lego .bf-leaderboard-card::before {
  z-index: 0;
  background-image: url("https://beastfactory.dk/wp-content/uploads/2026/03/lego_leaderboard2.png");
  background-position: center;
  background-size: cover;
}

.bf-leaderboard--lego .bf-leaderboard-card::after {
  z-index: 1;
  background: rgba(255, 255, 255, 0.82);
}

.bf-leaderboard--lego .bf-leaderboard-manage .bf-leaderboard-card::before {
  background-image: url("https://beastfactory.dk/wp-content/uploads/2026/03/lego_leaderboard.png");
}

.bf-leaderboard-login {
  max-width: 720px;
}

.bf-client-access {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
}

.bf-leaderboard-access {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.9fr) minmax(280px, 0.9fr);
  gap: 18px;
  align-items: start;
  margin-bottom: 22px;
}

.bf-client-access .bf-leaderboard-login {
  max-width: none;
}

.bf-leaderboard-access .bf-leaderboard-login {
  max-width: none;
}

.bf-client-account {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  margin-bottom: 18px;
}

.bf-client-profile {
  display: grid;
  gap: 18px;
}

.bf-client-dashboard {
  --bfd-bg: #080b0f;
  --bfd-panel: #101720;
  --bfd-line: rgba(255, 255, 255, 0.12);
  --bfd-text: #ffffff;
  --bfd-muted: rgba(255, 255, 255, 0.72);
  --bfd-orange: #ff6f3d;
  max-width: 1320px;
  margin-inline: auto;
  padding: clamp(18px, 3vw, 34px);
  border-radius: 28px;
  background:
    radial-gradient(circle at 12% 0%, rgba(255, 111, 61, 0.14), transparent 28%),
    linear-gradient(180deg, #111820 0%, var(--bfd-bg) 100%);
  color: var(--bfd-text);
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.28);
}

.bf-client-dashboard > .bf-leaderboard__head {
  display: none;
}

.bf-client-dashboard .bf-eyebrow {
  color: var(--bfd-orange);
}

.bf-client-dashboard__hero,
.bf-client-dashboard__card,
.bf-client-dashboard__action,
.bf-client-dashboard .bf-leaderboard-card {
  border: 1px solid var(--bfd-line);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.035));
  color: var(--bfd-text);
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.22);
}

.bf-client-dashboard__hero {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.65fr);
  gap: clamp(18px, 3vw, 34px);
  align-items: stretch;
  padding: clamp(22px, 4vw, 42px);
  border-radius: 28px;
}

.bf-client-dashboard__hero h2 {
  max-width: 780px;
  margin: 0 0 14px;
  color: var(--bfd-text);
  font-size: clamp(2.2rem, 6vw, 5.8rem);
  line-height: 0.92;
  letter-spacing: 0;
}

.bf-client-dashboard__hero p,
.bf-client-dashboard__card p,
.bf-client-dashboard__action small,
.bf-client-dashboard__tool small {
  color: var(--bfd-muted);
}

.bf-client-dashboard__hero-buttons,
.bf-client-dashboard__mini-kpis,
.bf-client-dashboard__card-head,
.bf-client-dashboard__latest,
.bf-client-dashboard__bars > div {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

.bf-client-dashboard__hero-buttons {
  margin-top: 22px;
}

.bf-client-dashboard__avatar-card {
  display: grid;
  gap: 14px;
  align-content: start;
  padding: 22px;
  border-radius: 24px;
  background: rgba(0, 0, 0, 0.18);
}

.bf-client-dashboard__avatar {
  display: grid;
  width: 74px;
  height: 74px;
  place-items: center;
  border-radius: 22px;
  background: var(--bfd-orange);
  color: #111;
  font-weight: 950;
  font-size: 2rem;
}

.bf-client-dashboard__mini-kpis span,
.bf-client-dashboard__metric,
.bf-client-dashboard__tool {
  border: 1px solid var(--bfd-line);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.06);
}

.bf-client-dashboard__mini-kpis span {
  flex: 1 1 120px;
  padding: 12px;
}

.bf-client-dashboard__mini-kpis strong {
  display: block;
  color: var(--bfd-text);
  font-size: 1.55rem;
}

.bf-client-dashboard__actions,
.bf-client-dashboard__metrics,
.bf-client-dashboard__tools,
.bf-client-dashboard__account-grid {
  display: grid;
  gap: 14px;
}

.bf-client-dashboard__actions {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.bf-client-dashboard__action {
  display: grid;
  min-width: 0;
  min-height: 128px;
  align-content: space-between;
  padding: 16px;
  border-radius: 22px;
  text-decoration: none;
}

.bf-client-dashboard__action span,
.bf-client-dashboard__tool strong {
  color: var(--bfd-text);
  font-weight: 950;
  overflow-wrap: anywhere;
  hyphens: auto;
}

.bf-client-dashboard__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(280px, 0.7fr);
  gap: 18px;
  align-items: start;
}

.bf-client-dashboard__main,
.bf-client-dashboard__side {
  display: grid;
  gap: 18px;
}

.bf-client-dashboard__card {
  padding: clamp(18px, 2.4vw, 28px);
  border-radius: 24px;
}

.bf-client-dashboard__card h3 {
  margin: 0;
  color: var(--bfd-text);
  font-size: clamp(1.35rem, 2.3vw, 2rem);
  line-height: 1;
}

.bf-client-dashboard__card-head {
  justify-content: space-between;
  margin-bottom: 18px;
}

.bf-client-dashboard__card-head > a {
  color: var(--bfd-orange);
  font-weight: 900;
}

.bf-client-dashboard__metrics {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bf-client-dashboard__metric {
  padding: 16px;
}

.bf-client-dashboard__metric strong {
  display: block;
  margin-bottom: 4px;
  color: var(--bfd-text);
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  line-height: 0.95;
}

.bf-client-dashboard__metric span {
  display: block;
  font-weight: 900;
}

.bf-client-dashboard__metric small {
  color: var(--bfd-muted);
}

.bf-client-dashboard__latest {
  justify-content: space-between;
  margin: 16px 0;
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(255, 111, 61, 0.12);
}

.bf-client-dashboard__bars {
  display: grid;
  gap: 10px;
}

.bf-client-dashboard__bars > div {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) 32px;
}

.bf-client-dashboard__bars i {
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
}

.bf-client-dashboard__bars i::before {
  content: "";
  display: block;
  width: var(--bf-bar);
  height: 100%;
  border-radius: inherit;
  background: var(--bfd-orange);
}

.bf-client-dashboard__training .bf-today-program {
  margin: 0;
}

.bf-client-dashboard__training .bf-workout-block,
.bf-client-dashboard__training .bf-today-program__card {
  max-width: 940px;
  margin-inline: auto;
}

.bf-client-dashboard__shared-workouts {
  display: grid;
  gap: 18px;
}

.bf-client-dashboard__shared-workouts .bf-workout-score-entry {
  max-width: 940px;
  margin: -8px auto 8px;
}

.bf-client-dashboard__shared-workouts .bf-workout-score-entry .bf-leaderboard-card {
  background: rgba(255, 250, 240, 0.08);
  color: var(--bfd-text);
}

.bf-client-dashboard__shared-workouts .bf-workout-score-entry__selected {
  color: var(--bfd-text);
  background: rgba(255, 111, 61, 0.18);
}

.bf-client-dashboard__tools {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bf-client-dashboard__tool {
  display: grid;
  gap: 7px;
  padding: 14px;
  text-decoration: none;
}

.bf-client-dashboard__tool span {
  width: fit-content;
  padding: 4px 9px;
  border-radius: 999px;
  background: rgba(255, 111, 61, 0.15);
  color: var(--bfd-orange);
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.bf-client-dashboard__checklist {
  display: grid;
  gap: 10px;
  padding-left: 18px;
  color: var(--bfd-muted);
}

.bf-client-dashboard .bf-leaderboard-form input,
.bf-client-dashboard .bf-leaderboard-form select,
.bf-client-dashboard .bf-leaderboard-form textarea {
  background: rgba(255, 255, 255, 0.95);
  color: var(--bf-ink);
}

.bf-client-dashboard .bf-leaderboard-table th,
.bf-client-dashboard .bf-leaderboard-table td,
.bf-client-dashboard .bf-leaderboard-title-row p {
  color: var(--bfd-muted);
}

.bf-client-dashboard .bf-leaderboard-table strong,
.bf-client-dashboard .bf-leaderboard-card h3,
.bf-client-dashboard .bf-leaderboard-card h4 {
  color: var(--bfd-text);
}

.bf-client-dashboard__account-grid {
  grid-template-columns: minmax(300px, 0.7fr) minmax(0, 1.3fr);
}

.bf-admin-client-panel {
  margin: 18px 0 24px;
}

.bf-admin-temp-password code {
  font-size: 1.05rem;
  padding: 6px 8px;
  background: #fff;
}

.bf-leaderboard-warning {
  display: inline-flex;
  margin: 8px 0 0;
  padding: 9px 12px;
  border-radius: 999px;
  background: #fff3d8;
  color: #8d5b08;
  font-weight: 850;
}

.bf-button--ghost {
  background: #fff;
  border: 1px solid var(--bf-line);
  color: var(--bf-ink);
}

.bf-leaderboard-workout-list {
  display: grid;
  gap: 10px;
}

.bf-leaderboard-workout-list a {
  display: grid;
  gap: 2px;
  padding: 12px 14px;
  border-radius: 16px;
}

.bf-leaderboard-workout-list small,
.bf-leaderboard-title-row span,
.bf-leaderboard-standards {
  color: var(--bf-muted);
}

.bf-leaderboard-title-row {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
}

.bf-leaderboard-title-row h3 {
  margin-bottom: 6px;
}

.bf-leaderboard-title-row > span {
  flex: 0 0 auto;
  padding: 6px 10px;
  border-radius: 999px;
  background: #fff3d8;
  font-size: 0.78rem;
  font-weight: 900;
}

.bf-leaderboard-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.bf-leaderboard-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 620px;
}

.bf-leaderboard-table th,
.bf-leaderboard-table td {
  padding: 12px 10px;
  border-bottom: 1px solid var(--bf-line);
  text-align: left;
  vertical-align: top;
}

.bf-leaderboard-table th {
  color: var(--bf-muted);
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.bf-leaderboard-manage {
  display: grid;
  gap: 18px;
  margin-top: 18px;
}

.bf-leaderboard-form {
  display: grid;
  gap: 14px;
}

.bf-leaderboard-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.bf-leaderboard-form label {
  display: grid;
  gap: 6px;
  font-weight: 850;
}

.bf-leaderboard-form input,
.bf-leaderboard-form select,
.bf-leaderboard-form textarea {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid var(--bf-line);
  border-radius: 14px;
  background: #fff;
  color: var(--bf-ink);
  font: inherit;
}

.bf-leaderboard-form .bf-checkbox {
  display: flex;
  align-items: center;
  gap: 10px;
}

.bf-leaderboard-form .bf-checkbox input {
  width: auto;
  min-height: 0;
}

.bf-leaderboard-admin-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.bf-button--small {
  padding: 9px 13px;
  font-size: 0.9rem;
}

.bf-inline-form {
  margin: 0;
}

.bf-inline-form button {
  padding: 6px 9px;
  border: 1px solid var(--bf-line);
  border-radius: 999px;
  background: #fff;
  cursor: pointer;
}

.bf-leaderboard-admin {
  max-width: 1480px;
}

.bf-control-hero {
  margin: 18px 0 20px;
  padding: 26px;
  border: 1px solid var(--bf-line);
  border-radius: 24px;
  background: linear-gradient(135deg, #fffaf0 0%, #fff 100%);
  box-shadow: var(--bf-shadow-soft);
}

.bf-control-hero h1 {
  margin: 0 0 8px;
  font-size: clamp(2rem, 4vw, 3.6rem);
  line-height: 0.95;
}

.bf-control-section {
  margin: 14px 0;
  border: 1px solid var(--bf-line);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 14px 38px rgba(30, 24, 10, 0.08);
  overflow: hidden;
}

.bf-control-section > summary {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  padding: 18px 22px;
  cursor: pointer;
  list-style: none;
}

.bf-control-section > summary::-webkit-details-marker {
  display: none;
}

.bf-control-section > summary strong {
  display: block;
  color: var(--bf-ink);
  font-size: 1.12rem;
}

.bf-control-section > summary small {
  display: block;
  color: var(--bf-muted);
  font-weight: 600;
}

.bf-control-section > summary i {
  width: 12px;
  height: 12px;
  border-right: 3px solid var(--bf-brand);
  border-bottom: 3px solid var(--bf-brand);
  transform: rotate(45deg);
  transition: transform 0.18s ease;
}

.bf-control-section[open] > summary i {
  transform: rotate(225deg);
}

.bf-control-section__body {
  display: grid;
  gap: 16px;
  padding: 0 18px 18px;
}

.bf-control-overview,
.bf-control-status-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.bf-control-overview div,
.bf-control-status-grid span {
  padding: 15px;
  border: 1px solid var(--bf-line);
  border-radius: 18px;
  background: #fffaf0;
}

.bf-control-overview strong {
  display: block;
  font-size: 2rem;
  line-height: 1;
}

.bf-control-overview span {
  color: var(--bf-muted);
  font-weight: 850;
}

.bf-control-status-grid span {
  font-weight: 900;
}

.bf-control-status-grid .is-ok {
  background: #e9f9ec;
  color: #14652c;
}

.bf-control-status-grid .is-warning {
  background: #fff3d8;
  color: #8d5b08;
}

.bf-control-library-grid {
  display: grid;
  grid-template-columns: minmax(280px, 0.55fr) minmax(0, 1.45fr);
  gap: 16px;
  align-items: start;
}

.bf-control-library-grid > div:last-child {
  display: grid;
  gap: 16px;
}

.bf-admin-workout-list {
  max-height: 620px;
  overflow: auto;
  padding-right: 4px;
}

.bf-control-filter-card .bf-leaderboard-form-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.bf-leaderboard-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.bf-leaderboard-row-actions a,
.bf-leaderboard-row-actions button {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
}

.bf-leaderboard-notice {
  display: inline-flex;
  margin: 0 0 16px;
  padding: 10px 14px;
  background: #e5f8ea;
  border-color: #bfe8c9;
  color: #166534;
}

.bf-faq details,
.wp-block-details {
  background: #fff;
  border: 1px solid var(--bf-line);
  border-radius: 18px;
  padding: 18px 20px;
  margin: 12px 0;
}

.bf-faq summary,
.wp-block-details summary {
  font-weight: 900;
}

.bf-footer-experience {
  overflow: hidden;
  padding: 56px 0 0;
  background: #11110f;
  color: #fff;
}

.bf-footer-experience__inner {
  width: min(var(--bf-max), 92vw);
  margin: 0 auto;
  padding-bottom: 30px;
}

.bf-footer-experience__intro {
  max-width: 780px;
  margin: 0 auto 24px;
  text-align: center;
}

.bf-footer-experience__kicker {
  margin: 0 0 8px;
  color: var(--bf-brand);
  font-size: 0.78rem;
  font-weight: 950;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.bf-footer-experience__intro h2 {
  margin: 0 0 12px;
  color: #fff;
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: 0.96;
  letter-spacing: -0.05em;
}

.bf-footer-experience__intro p {
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.72);
  font-size: clamp(1rem, 1.5vw, 1.18rem);
}

.bf-footer-experience__marquee {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.02));
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.26);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.bf-footer-experience__track {
  display: flex;
  width: max-content;
  gap: 18px;
  padding: 18px;
  animation: bf-footer-experience-marquee 38s linear infinite;
  will-change: transform;
}

.bf-footer-experience__marquee:hover .bf-footer-experience__track {
  animation-play-state: paused;
}

.bf-footer-experience__item {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 156px;
  height: 86px;
  padding: 14px 18px;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.22);
}

.bf-footer-experience__item img {
  display: block;
  max-width: 100%;
  max-height: 56px;
  object-fit: contain;
}

@keyframes bf-footer-experience-marquee {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .bf-footer-experience__marquee {
    -webkit-mask-image: none;
    mask-image: none;
  }

  .bf-footer-experience__track {
    width: auto;
    flex-wrap: wrap;
    justify-content: center;
    animation: none;
  }

  .bf-footer-experience__item[aria-hidden="true"] {
    display: none;
  }
}

@media (max-width: 720px) {
  .bf-footer-experience {
    padding-top: 42px;
  }

  .bf-footer-experience__inner {
    width: min(var(--bf-max), calc(100% - 24px));
    padding-bottom: 22px;
  }

  .bf-footer-experience__marquee {
    border-radius: 18px;
  }

  .bf-footer-experience__track {
    gap: 12px;
    padding: 14px;
    animation-duration: 30s;
  }

  .bf-footer-experience__item {
    width: 132px;
    height: 76px;
    padding: 12px 14px;
  }

  .bf-footer-experience__item img {
    max-height: 48px;
  }
}

.site-footer {
  background: #11110f;
  color: #fff;
}

.site-footer .muted,
.site-footer p {
  color: #c9c3b8;
}

.footer-title {
  color: #fff;
  letter-spacing: -0.04em;
}

.footer-social {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
  line-height: 0;
}

.footer-social__link {
  display: inline-flex;
  flex: 0 0 42px;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  min-width: 42px;
  min-height: 42px;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  text-decoration: none;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.footer-social__link:hover {
  border-color: var(--bf-brand);
  background: var(--bf-brand);
  color: #201407;
  transform: translateY(-1px);
}

.footer-social__icon,
.footer-social__icon svg {
  display: block;
  width: 20px;
  height: 20px;
  line-height: 1;
}

.footer-social__icon svg {
  fill: currentColor;
}

.bf-footer-directory-links {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.4em;
  align-items: center;
  margin-top: 0.25rem;
  font-size: 0.9rem;
}

.bf-footer-directory-links a {
  color: #fff;
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.28);
  text-underline-offset: 3px;
}

.bf-footer-directory-links a:hover {
  color: var(--bf-brand);
  text-decoration-color: currentColor;
}

.site-footer--editable .site-footer__inner {
  display: block;
}

.site-footer--editable .site-footer__editable-content > * {
  width: 100%;
  max-width: none;
}

.site-footer--editable .wp-block-columns {
  gap: 28px;
  margin-bottom: 0;
}

.site-footer--editable .wp-block-column > *:last-child,
.site-footer--editable .wp-block-group > *:last-child {
  margin-bottom: 0;
}

.site-footer--editable .wp-block-button__link {
  color: var(--bf-button-text, #201407);
  text-decoration: none;
}

.site-footer--editable .bf-editable-footer__socials {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  margin-top: 16px;
  line-height: 0;
}

.site-footer--editable .bf-editable-footer__socials p {
  margin: 0;
}

.site-footer--editable .bf-editable-footer__socials a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 9px 13px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  text-decoration: none;
  font-weight: 850;
}

.site-footer--editable .bf-editable-footer__socials a:hover {
  border-color: var(--bf-brand);
  background: var(--bf-brand);
  color: #201407;
}

.site-footer--editable .bf-editable-footer__socials.footer-social {
  display: flex;
  align-items: center;
  gap: 10px;
}

.site-footer--editable .bf-editable-footer__socials a.footer-social__link {
  display: inline-flex;
  flex: 0 0 42px;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  min-width: 42px;
  min-height: 42px;
  margin: 0;
  padding: 0;
  font-size: 0;
  line-height: 1;
}

.site-footer--editable .bf-editable-footer__socials a.footer-social__link:hover {
  transform: translateY(-1px);
}

.site-footer--editable .bf-editable-footer__socials .footer-social__icon,
.site-footer--editable .bf-editable-footer__socials .footer-social__icon svg {
  display: block;
  width: 20px;
  height: 20px;
}

.site-footer--editable .bf-editable-footer__socials .footer-social__icon svg {
  fill: currentColor;
}

.sticky-cta {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 20;
}

.sticky-cta .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.entry-content img,
.entry-content video,
.entry-content iframe,
.entry-content embed,
.entry-content object {
  max-width: 100%;
}

.entry-content img,
.entry-content video {
  height: auto;
}

.bf-ai-summary {
  padding: 24px;
  border: 1px solid var(--bf-line);
  border-radius: var(--bf-radius-lg);
  background: linear-gradient(135deg, #fff 0%, #fff7e8 100%);
  box-shadow: var(--bf-shadow-soft);
}

.bf-ai-summary h2 {
  margin-top: 0;
  margin-bottom: 10px;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
}

.bf-ai-summary p {
  max-width: 760px;
  margin: 0 0 14px;
  color: var(--bf-muted);
}

.bf-ai-summary__list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 1.1rem;
}

.bf-ai-summary__list li {
  padding-left: 2px;
}

.bf-editor-tool-placeholder {
  padding: 22px;
  border: 1px solid var(--bf-line, #e7dcc7);
  border-radius: 18px;
  background: #fffaf0;
}

.bf-editor-tool-placeholder p {
  margin: 8px 0 14px;
}

@media (max-width: 1080px) {
  .bf-grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bf-client-dashboard__actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .bf-control-overview,
  .bf-control-status-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bf-control-filter-card .bf-leaderboard-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1180px) {
  .header-client-login {
    display: none;
  }

  .primary-menu {
    top: 76px;
    left: 4vw;
    right: 4vw;
    max-height: calc(100dvh - 96px);
    overflow-y: auto;
    padding: 16px;
    border: 1px solid var(--bf-line);
    border-radius: 24px;
    box-shadow: var(--bf-shadow-soft);
  }

  .primary-menu .menu-item-has-children {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    align-items: center;
    gap: 4px;
  }

  .primary-menu a {
    padding: 12px 14px;
  }

  .submenu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 999px;
    background: #fff3d8;
    color: var(--bf-ink);
    cursor: pointer;
  }

  .submenu-toggle::after {
    content: "";
    width: 9px;
    height: 9px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
  }

  .menu-item.is-submenu-open > .submenu-toggle::after {
    transform: rotate(225deg) translate(-1px, -1px);
  }

  .primary-menu .sub-menu {
    grid-column: 1 / -1;
    display: none;
    margin-left: 0;
    padding: 6px 0 10px 14px;
    background: #fbf4e4;
    border: 0;
    box-shadow: none;
  }

  .primary-menu .menu-item.is-submenu-open > .sub-menu {
    display: block;
  }

  .bf-mobile-menu-expanded .primary-menu .sub-menu {
    display: block;
  }

  .bf-mobile-menu-expanded .primary-menu .submenu-toggle {
    display: none;
  }

  .primary-menu .sub-menu .menu-item-has-children {
    display: block;
  }

  .primary-menu .sub-menu .submenu-toggle {
    display: none;
  }

  .primary-menu .sub-menu .sub-menu {
    display: block;
    padding: 4px 0 4px 14px;
    background: transparent;
  }

  .bf-mobile-menu-portal,
  .bf-mobile-menu-cta {
    display: block;
  }

  .primary-menu .bf-mobile-menu-button {
    justify-content: center;
    margin-top: 8px;
    background: var(--bf-brand);
    color: #201407;
    box-shadow: var(--bf-shadow-soft);
    font-weight: 900;
  }

  .bf-grid-4,
  .bf-grid-3,
  .bf-grid-2,
  .bf-tool-grid,
  .bf-today-program__grid,
  .bf-client-access,
  .bf-leaderboard-access,
  .bf-leaderboard-layout,
  .bf-leaderboard-form-grid,
  .bf-workout-block-editor,
  .bf-field-row,
  .site-footer__inner {
    grid-template-columns: 1fr;
  }

  .site-footer--editable .wp-block-columns {
    display: grid;
    grid-template-columns: 1fr;
  }

  .bf-client-account {
    align-items: flex-start;
    flex-direction: column;
  }

  .bf-client-dashboard__hero,
  .bf-client-dashboard__layout,
  .bf-client-dashboard__account-grid {
    grid-template-columns: 1fr;
  }

  .bf-client-dashboard__tools {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bf-control-library-grid {
    grid-template-columns: 1fr;
  }

  .header-client-menu__button span:not(.header-client-menu__avatar),
  .header-client-login {
    font-size: 0.85rem;
  }
}

@media (min-width: 1181px) {
  .bf-mobile-menu-portal,
  .bf-mobile-menu-cta {
    display: none;
  }
}

@media (max-width: 380px) {
  .header-client-menu,
  .header-client-login {
    max-width: 48px;
  }

  .header-client-menu__mobile-link {
    justify-content: center;
    padding: 8px;
  }

  .header-client-menu__mobile-link span:not(.header-client-menu__avatar) {
    display: none;
  }
}

/* Homepage stat card hard lock v2.9.163. */
body.home .bf-hero-card .bf-hero-stats {
  display: none !important;
}

body.home .bf-hero-card .bf-stat-grid .bf-hero-stats,
body.home .bf-hero-card .bf-stat-grid > p {
  display: flex !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid,
body.home .bf-hero-card .bf-stat-grid {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(10px, 1vw, 16px) !important;
  width: 100% !important;
  max-width: 540px !important;
  margin: clamp(18px, 2vw, 28px) auto 0 !important;
  align-items: stretch !important;
  overflow: visible !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > :empty,
body.home .bf-hero-card .bf-stat-grid > :empty,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > :nth-child(n+4),
body.home .bf-hero-card .bf-stat-grid > :nth-child(n+4) {
  display: none !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > *,
body.home .bf-hero-card .bf-stat-grid > * {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 132px !important;
  padding: clamp(15px, 1vw, 18px) !important;
  border: 1px solid rgba(255, 255, 255, .18) !important;
  border-radius: 14px !important;
  background: rgba(8, 8, 7, .74) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05) !important;
  overflow: hidden !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid .bf-hero-stats,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > p,
body.home .bf-hero-card .bf-stat-grid .bf-hero-stats,
body.home .bf-hero-card .bf-stat-grid > p {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.home .bf-hero-card .bf-stat-grid .bf-hero-stats strong,
body.home .bf-hero-card .bf-stat-grid > p strong {
  display: block !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  margin: 0 !important;
  color: #f9b44d !important;
  font-size: clamp(1.75rem, 2.15vw, 2.35rem) !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

body.home .bf-hero-card .bf-stat-grid .bf-hero-stats span,
body.home .bf-hero-card .bf-stat-grid > p span {
  display: block !important;
  flex: 0 1 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  color: rgba(255, 251, 240, .92) !important;
  font-size: clamp(.72rem, .82vw, .9rem) !important;
  font-weight: 800 !important;
  line-height: 1.16 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

body.home .bf-hero-card .bf-stat-grid > :nth-child(3) .bf-hero-stats span,
body.home .bf-hero-card .bf-stat-grid > :nth-child(3) > p span {
  font-size: clamp(.58rem, .66vw, .76rem) !important;
  line-height: 1.08 !important;
}

@media (max-width: 860px) {
  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid,
  body.home .bf-hero-card .bf-stat-grid {
    max-width: 460px !important;
    gap: 8px !important;
  }

  body.home .bf-hero-card .bf-stat-grid > * {
    min-height: 118px !important;
    padding: 12px 10px !important;
  }

  body.home .bf-hero-card .bf-stat-grid .bf-hero-stats strong,
  body.home .bf-hero-card .bf-stat-grid > p strong {
    font-size: 1.45rem !important;
  }

  body.home .bf-hero-card .bf-stat-grid .bf-hero-stats span,
  body.home .bf-hero-card .bf-stat-grid > p span {
    font-size: .6rem !important;
    line-height: 1.1 !important;
  }

  body.home .bf-hero-card .bf-stat-grid > :nth-child(3) .bf-hero-stats span,
  body.home .bf-hero-card .bf-stat-grid > :nth-child(3) > p span {
    font-size: .5rem !important;
    line-height: 1.05 !important;
  }
}

@media (max-width: 520px) {
  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid,
  body.home .bf-hero-card .bf-stat-grid {
    max-width: 100% !important;
    gap: 7px !important;
  }

  body.home .bf-hero-card .bf-stat-grid > * {
    min-height: 108px !important;
    padding: 10px 8px !important;
  }

  body.home .bf-hero-card .bf-stat-grid .bf-hero-stats strong,
  body.home .bf-hero-card .bf-stat-grid > p strong {
    font-size: clamp(1.18rem, 5vw, 1.35rem) !important;
  }

  body.home .bf-hero-card .bf-stat-grid .bf-hero-stats span,
  body.home .bf-hero-card .bf-stat-grid > p span {
    font-size: clamp(.5rem, 2.45vw, .58rem) !important;
    line-height: 1.08 !important;
  }

  body.home .bf-hero-card .bf-stat-grid > :nth-child(3) .bf-hero-stats span,
  body.home .bf-hero-card .bf-stat-grid > :nth-child(3) > p span {
    font-size: clamp(.42rem, 1.95vw, .5rem) !important;
  }
}

/* Homepage stat card final lock v2.9.162. */
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card > .bf-hero-stats,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card > .wp-block-group:not(.bf-stat-grid) > .bf-hero-stats,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card > .wp-block-column > .bf-hero-stats,
body.home .bf-hero-card > .bf-hero-stats,
body.home .bf-hero-card > .wp-block-group:not(.bf-stat-grid) > .bf-hero-stats,
body.home .bf-hero-card > .wp-block-column > .bf-hero-stats {
  display: none !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid,
body.home .bf-hero-card .bf-stat-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(10px, .85vw, 14px) !important;
  inline-size: 100% !important;
  max-inline-size: 100% !important;
  margin: clamp(18px, 2vw, 26px) 0 0 !important;
  overflow: hidden !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > :empty,
body.home .bf-hero-card .bf-stat-grid > :empty,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > :nth-child(n+4),
body.home .bf-hero-card .bf-stat-grid > :nth-child(n+4) {
  display: none !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > *,
body.home .bf-hero-card .bf-stat-grid > * {
  box-sizing: border-box !important;
  min-width: 0 !important;
  inline-size: 100% !important;
  min-height: clamp(108px, 7.4vw, 124px) !important;
  padding: clamp(14px, 1vw, 18px) !important;
  border: 1px solid rgba(255, 255, 255, .16) !important;
  border-radius: 14px !important;
  background: rgba(11, 11, 10, .58) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05) !important;
  overflow: hidden !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid .bf-hero-stats,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > p,
body.home .bf-hero-card .bf-stat-grid .bf-hero-stats,
body.home .bf-hero-card .bf-stat-grid > p {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: clamp(8px, .65vw, 11px) !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid strong,
body.home .bf-hero-card .bf-stat-grid strong {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  color: #f9b44d !important;
  font-size: clamp(1.7rem, 2vw, 2.15rem) !important;
  line-height: .95 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid span,
body.home .bf-hero-card .bf-stat-grid span {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  color: rgba(255, 251, 240, .9) !important;
  font-size: clamp(.68rem, .76vw, .84rem) !important;
  font-weight: 800 !important;
  line-height: 1.16 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > :nth-child(3) span,
body.home .bf-hero-card .bf-stat-grid > :nth-child(3) span {
  font-size: clamp(.55rem, .64vw, .72rem) !important;
  line-height: 1.08 !important;
}

@media (max-width: 760px) {
  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid,
  body.home .bf-hero-card .bf-stat-grid {
    gap: 8px !important;
  }

  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > *,
  body.home .bf-hero-card .bf-stat-grid > * {
    min-height: 96px !important;
    padding: 10px 8px !important;
    border-radius: 12px !important;
  }

  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid strong,
  body.home .bf-hero-card .bf-stat-grid strong {
    font-size: clamp(1.25rem, 4.6vw, 1.55rem) !important;
  }

  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid span,
  body.home .bf-hero-card .bf-stat-grid span {
    font-size: clamp(.53rem, 2vw, .64rem) !important;
    line-height: 1.1 !important;
  }

  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > :nth-child(3) span,
  body.home .bf-hero-card .bf-stat-grid > :nth-child(3) span {
    font-size: clamp(.46rem, 1.65vw, .56rem) !important;
    line-height: 1.04 !important;
  }
}

/* Homepage stat card containment lock v2.9.160. */
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid,
body.home .bf-hero-card .bf-stat-grid {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  gap: clamp(8px, .8vw, 12px) !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: clamp(14px, 1.35vw, 18px) 0 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > :nth-child(n+4),
body.home .bf-hero-card .bf-stat-grid > :nth-child(n+4),
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat:empty,
body.home .bf-hero-card .bf-stat-grid > .bf-stat:empty,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-hero-stats:empty,
body.home .bf-hero-card .bf-stat-grid > .bf-hero-stats:empty {
  display: none !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-hero-stats,
body.home .bf-hero-card .bf-stat-grid > .bf-stat,
body.home .bf-hero-card .bf-stat-grid > .bf-hero-stats {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-rows: auto 1fr !important;
  align-content: start !important;
  align-items: start !important;
  justify-items: start !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 104px !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 14px 12px !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  float: none !important;
  clear: none !important;
  grid-column: auto !important;
  grid-row: auto !important;
  overflow: hidden !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255, 255, 255, .2) !important;
  background: rgba(10, 10, 9, .78) !important;
  text-align: left !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat *,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-hero-stats *,
body.home .bf-hero-card .bf-stat-grid > .bf-stat *,
body.home .bf-hero-card .bf-stat-grid > .bf-hero-stats * {
  box-sizing: border-box !important;
  position: static !important;
  inset: auto !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;
  float: none !important;
  clear: none !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat > p,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat > p.bf-hero-stats,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat .bf-hero-stats,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-hero-stats,
body.home .bf-hero-card .bf-stat-grid > .bf-stat > p,
body.home .bf-hero-card .bf-stat-grid > .bf-stat > p.bf-hero-stats,
body.home .bf-hero-card .bf-stat-grid > .bf-stat .bf-hero-stats,
body.home .bf-hero-card .bf-stat-grid > .bf-hero-stats {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-rows: auto auto !important;
  align-content: start !important;
  align-items: start !important;
  justify-items: start !important;
  gap: 7px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  white-space: normal !important;
  overflow: hidden !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat > p > strong,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid .bf-hero-stats strong,
body.home .bf-hero-card .bf-stat-grid > .bf-stat > p > strong,
body.home .bf-hero-card .bf-stat-grid .bf-hero-stats strong {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #ffb347 !important;
  font-size: clamp(1.35rem, 1.85vw, 1.95rem) !important;
  line-height: .95 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: clip !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat > p > span,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid .bf-hero-stats span,
body.home .bf-hero-card .bf-stat-grid > .bf-stat > p > span,
body.home .bf-hero-card .bf-stat-grid .bf-hero-stats span {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(255, 255, 255, .92) !important;
  font-size: clamp(.58rem, .68vw, .76rem) !important;
  line-height: 1.16 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: manual !important;
  overflow: hidden !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > :nth-child(3) > p > span,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > :nth-child(3) .bf-hero-stats span,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-hero-stats:nth-child(3) span,
body.home .bf-hero-card .bf-stat-grid > :nth-child(3) > p > span,
body.home .bf-hero-card .bf-stat-grid > :nth-child(3) .bf-hero-stats span,
body.home .bf-hero-card .bf-stat-grid > .bf-hero-stats:nth-child(3) span {
  font-size: clamp(.46rem, .52vw, .58rem) !important;
  line-height: 1.06 !important;
}

@media (max-width: 760px) {
  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid,
  body.home .bf-hero-card .bf-stat-grid {
    gap: 6px !important;
  }

  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat,
  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-hero-stats,
  body.home .bf-hero-card .bf-stat-grid > .bf-stat,
  body.home .bf-hero-card .bf-stat-grid > .bf-hero-stats {
    min-height: 88px !important;
    padding: 10px 8px !important;
    border-radius: 12px !important;
  }

  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat > p,
  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid .bf-hero-stats,
  body.home .bf-hero-card .bf-stat-grid > .bf-stat > p,
  body.home .bf-hero-card .bf-stat-grid .bf-hero-stats {
    gap: 5px !important;
  }

  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat > p > strong,
  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid .bf-hero-stats strong,
  body.home .bf-hero-card .bf-stat-grid > .bf-stat > p > strong,
  body.home .bf-hero-card .bf-stat-grid .bf-hero-stats strong {
    font-size: clamp(1.08rem, 4.6vw, 1.34rem) !important;
  }

  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat > p > span,
  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid .bf-hero-stats span,
  body.home .bf-hero-card .bf-stat-grid > .bf-stat > p > span,
  body.home .bf-hero-card .bf-stat-grid .bf-hero-stats span {
    font-size: clamp(.46rem, 1.86vw, .58rem) !important;
    line-height: 1.08 !important;
  }

  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > :nth-child(3) > p > span,
  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > :nth-child(3) .bf-hero-stats span,
  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-hero-stats:nth-child(3) span,
  body.home .bf-hero-card .bf-stat-grid > :nth-child(3) > p > span,
  body.home .bf-hero-card .bf-stat-grid > :nth-child(3) .bf-hero-stats span,
  body.home .bf-hero-card .bf-stat-grid > .bf-hero-stats:nth-child(3) span {
    font-size: clamp(.37rem, 1.5vw, .47rem) !important;
    line-height: 1.03 !important;
  }
}

/* Homepage stat card plain-markup fix v2.9.159. */
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid,
body.home .bf-hero-card .bf-stat-grid {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  gap: clamp(8px, .8vw, 12px) !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: clamp(14px, 1.35vw, 18px) 0 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > :nth-child(n+4),
body.home .bf-hero-card .bf-stat-grid > :nth-child(n+4),
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat:empty,
body.home .bf-hero-card .bf-stat-grid > .bf-stat:empty,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-hero-stats:empty,
body.home .bf-hero-card .bf-stat-grid > .bf-hero-stats:empty {
  display: none !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-hero-stats,
body.home .bf-hero-card .bf-stat-grid > .bf-stat,
body.home .bf-hero-card .bf-stat-grid > .bf-hero-stats {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 112px !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 14px 12px !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  float: none !important;
  clear: none !important;
  overflow: hidden !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255, 255, 255, .18) !important;
  background: rgba(10, 10, 9, .64) !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat > p,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat > p.bf-hero-stats,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat .bf-hero-stats,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-hero-stats,
body.home .bf-hero-card .bf-stat-grid > .bf-stat > p,
body.home .bf-hero-card .bf-stat-grid > .bf-stat > p.bf-hero-stats,
body.home .bf-hero-card .bf-stat-grid > .bf-stat .bf-hero-stats,
body.home .bf-hero-card .bf-stat-grid > .bf-hero-stats {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  inset: auto !important;
  transform: none !important;
  float: none !important;
  clear: none !important;
  text-align: left !important;
  white-space: normal !important;
  overflow: hidden !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat > p *,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid .bf-hero-stats *,
body.home .bf-hero-card .bf-stat-grid > .bf-stat > p *,
body.home .bf-hero-card .bf-stat-grid .bf-hero-stats * {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  float: none !important;
  clear: none !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat > p > strong,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid .bf-hero-stats strong,
body.home .bf-hero-card .bf-stat-grid > .bf-stat > p > strong,
body.home .bf-hero-card .bf-stat-grid .bf-hero-stats strong {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #ffb347 !important;
  font-size: clamp(1.32rem, 1.6vw, 1.72rem) !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: clip !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat > p > span,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid .bf-hero-stats span,
body.home .bf-hero-card .bf-stat-grid > .bf-stat > p > span,
body.home .bf-hero-card .bf-stat-grid .bf-hero-stats span {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(255, 255, 255, .92) !important;
  font-size: clamp(.58rem, .62vw, .7rem) !important;
  line-height: 1.12 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: manual !important;
  overflow: hidden !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > :nth-child(3) > p > span,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > :nth-child(3) .bf-hero-stats span,
body.home .bf-hero-card .bf-stat-grid > :nth-child(3) > p > span,
body.home .bf-hero-card .bf-stat-grid > :nth-child(3) .bf-hero-stats span {
  font-size: clamp(.5rem, .52vw, .6rem) !important;
  line-height: 1.04 !important;
}

@media (max-width: 760px) {
  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid,
  body.home .bf-hero-card .bf-stat-grid {
    gap: 7px !important;
  }

  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat,
  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-hero-stats,
  body.home .bf-hero-card .bf-stat-grid > .bf-stat,
  body.home .bf-hero-card .bf-stat-grid > .bf-hero-stats {
    min-height: 90px !important;
    padding: 10px 8px !important;
    border-radius: 12px !important;
  }

  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat > p,
  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid .bf-hero-stats,
  body.home .bf-hero-card .bf-stat-grid > .bf-stat > p,
  body.home .bf-hero-card .bf-stat-grid .bf-hero-stats {
    gap: 6px !important;
  }

  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat > p > strong,
  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid .bf-hero-stats strong,
  body.home .bf-hero-card .bf-stat-grid > .bf-stat > p > strong,
  body.home .bf-hero-card .bf-stat-grid .bf-hero-stats strong {
    font-size: clamp(1.02rem, 4vw, 1.28rem) !important;
  }

  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat > p > span,
  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid .bf-hero-stats span,
  body.home .bf-hero-card .bf-stat-grid > .bf-stat > p > span,
  body.home .bf-hero-card .bf-stat-grid .bf-hero-stats span {
    font-size: clamp(.43rem, 1.82vw, .53rem) !important;
    line-height: 1.06 !important;
  }

  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > :nth-child(3) > p > span,
  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > :nth-child(3) .bf-hero-stats span,
  body.home .bf-hero-card .bf-stat-grid > :nth-child(3) > p > span,
  body.home .bf-hero-card .bf-stat-grid > :nth-child(3) .bf-hero-stats span {
    font-size: clamp(.36rem, 1.54vw, .46rem) !important;
    line-height: 1.01 !important;
  }
}

/* Homepage hero stat card containment lock v2.9.158. The late inline copy wins on the live page. */
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid,
body.home .bf-hero-card .bf-stat-grid {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-flow: column !important;
  gap: clamp(8px, .78vw, 12px) !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: clamp(14px, 1.35vw, 18px) 0 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > :not(.bf-stat):not(.bf-hero-stats),
body.home .bf-hero-card .bf-stat-grid > :not(.bf-stat):not(.bf-hero-stats),
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > :nth-child(n+4),
body.home .bf-hero-card .bf-stat-grid > :nth-child(n+4),
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat:empty,
body.home .bf-hero-card .bf-stat-grid > .bf-stat:empty,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-hero-stats:empty,
body.home .bf-hero-card .bf-stat-grid > .bf-hero-stats:empty {
  display: none !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-hero-stats,
body.home .bf-hero-card .bf-stat-grid > .bf-stat,
body.home .bf-hero-card .bf-stat-grid > .bf-hero-stats {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;
  float: none !important;
  clear: none !important;
  grid-column: auto !important;
  grid-row: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 118px !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 16px 14px !important;
  overflow: hidden !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255, 255, 255, .18) !important;
  background: rgba(10, 10, 9, .62) !important;
  box-shadow: none !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat > p.bf-hero-stats,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat .bf-hero-stats,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-hero-stats,
body.home .bf-hero-card .bf-stat-grid > .bf-stat > p.bf-hero-stats,
body.home .bf-hero-card .bf-stat-grid > .bf-stat .bf-hero-stats,
body.home .bf-hero-card .bf-stat-grid > .bf-hero-stats {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  position: static !important;
  inset: auto !important;
  transform: none !important;
  float: none !important;
  clear: none !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  white-space: normal !important;
  overflow: hidden !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid .bf-hero-stats strong,
body.home .bf-hero-card .bf-stat-grid .bf-hero-stats strong {
  box-sizing: border-box !important;
  display: block !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #ffb347 !important;
  font-size: clamp(1.42rem, 1.85vw, 1.88rem) !important;
  line-height: .96 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  white-space: nowrap !important;
  overflow: visible !important;
  position: static !important;
  transform: none !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid .bf-hero-stats span,
body.home .bf-hero-card .bf-stat-grid .bf-hero-stats span {
  box-sizing: border-box !important;
  display: block !important;
  flex: 0 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(255, 255, 255, .92) !important;
  font-size: clamp(.58rem, .62vw, .7rem) !important;
  line-height: 1.12 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: manual !important;
  overflow: hidden !important;
  position: static !important;
  transform: none !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > :nth-child(3) .bf-hero-stats span,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-hero-stats:nth-child(3) span,
body.home .bf-hero-card .bf-stat-grid > :nth-child(3) .bf-hero-stats span,
body.home .bf-hero-card .bf-stat-grid > .bf-hero-stats:nth-child(3) span {
  font-size: clamp(.52rem, .54vw, .62rem) !important;
  line-height: 1.06 !important;
}

@media (max-width: 760px) {
  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid,
  body.home .bf-hero-card .bf-stat-grid {
    gap: 7px !important;
  }

  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat,
  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-hero-stats,
  body.home .bf-hero-card .bf-stat-grid > .bf-stat,
  body.home .bf-hero-card .bf-stat-grid > .bf-hero-stats {
    min-height: 92px !important;
    padding: 10px 8px !important;
    border-radius: 12px !important;
  }

  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid .bf-hero-stats,
  body.home .bf-hero-card .bf-stat-grid .bf-hero-stats {
    gap: 6px !important;
  }

  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid .bf-hero-stats strong,
  body.home .bf-hero-card .bf-stat-grid .bf-hero-stats strong {
    font-size: clamp(1.14rem, 4.4vw, 1.45rem) !important;
  }

  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid .bf-hero-stats span,
  body.home .bf-hero-card .bf-stat-grid .bf-hero-stats span {
    font-size: clamp(.48rem, 2vw, .58rem) !important;
    line-height: 1.08 !important;
  }

  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > :nth-child(3) .bf-hero-stats span,
  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-hero-stats:nth-child(3) span,
  body.home .bf-hero-card .bf-stat-grid > :nth-child(3) .bf-hero-stats span,
  body.home .bf-hero-card .bf-stat-grid > .bf-hero-stats:nth-child(3) span {
    font-size: clamp(.42rem, 1.74vw, .52rem) !important;
    line-height: 1.02 !important;
  }
}

/* Homepage hero stat cards - absolute containment v2.9.157. */
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid,
body.home .bf-hero-card .bf-stat-grid {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  gap: clamp(8px, 1vw, 14px) !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: clamp(16px, 2vw, 24px) 0 0 !important;
  padding: 0 !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  overflow: hidden !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > :not(.bf-stat):not(.bf-hero-stats),
body.home .bf-hero-card .bf-stat-grid > :not(.bf-stat):not(.bf-hero-stats),
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > :nth-child(n+4),
body.home .bf-hero-card .bf-stat-grid > :nth-child(n+4),
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat:empty,
body.home .bf-hero-card .bf-stat-grid > .bf-stat:empty,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-hero-stats:empty,
body.home .bf-hero-card .bf-stat-grid > .bf-hero-stats:empty {
  display: none !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-hero-stats,
body.home .bf-hero-card .bf-stat-grid > .bf-stat,
body.home .bf-hero-card .bf-stat-grid > .bf-hero-stats {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  float: none !important;
  grid-column: auto !important;
  grid-row: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 112px !important;
  margin: 0 !important;
  padding: 18px 16px !important;
  overflow: hidden !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255, 255, 255, .2) !important;
  background: rgba(10, 10, 9, .74) !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat > p.bf-hero-stats,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat .bf-hero-stats,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-hero-stats,
body.home .bf-hero-card .bf-stat-grid > .bf-stat > p.bf-hero-stats,
body.home .bf-hero-card .bf-stat-grid > .bf-stat .bf-hero-stats,
body.home .bf-hero-card .bf-stat-grid > .bf-hero-stats {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: .45rem !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  position: static !important;
  inset: auto !important;
  transform: none !important;
  float: none !important;
  text-align: left !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid .bf-hero-stats strong,
body.home .bf-hero-card .bf-stat-grid .bf-hero-stats strong {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #ffb347 !important;
  font-size: clamp(1.45rem, 2vw, 2rem) !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  transform: none !important;
  position: static !important;
  float: none !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid .bf-hero-stats span,
body.home .bf-hero-card .bf-stat-grid .bf-hero-stats span {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(255, 255, 255, .9) !important;
  font-size: clamp(.68rem, .74vw, .84rem) !important;
  line-height: 1.16 !important;
  font-weight: 750 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  hyphens: none !important;
  overflow: hidden !important;
  transform: none !important;
  position: static !important;
  float: none !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > :nth-child(3) .bf-hero-stats span,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-hero-stats:nth-child(3) span,
body.home .bf-hero-card .bf-stat-grid > :nth-child(3) .bf-hero-stats span,
body.home .bf-hero-card .bf-stat-grid > .bf-hero-stats:nth-child(3) span {
  font-size: clamp(.54rem, .56vw, .64rem) !important;
  line-height: 1.06 !important;
}

@media (max-width: 980px) {
  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid,
  body.home .bf-hero-card .bf-stat-grid {
    gap: 8px !important;
  }

  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat,
  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-hero-stats,
  body.home .bf-hero-card .bf-stat-grid > .bf-stat,
  body.home .bf-hero-card .bf-stat-grid > .bf-hero-stats {
    min-height: 98px !important;
    padding: 13px 10px !important;
  }
}

@media (max-width: 520px) {
  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid,
  body.home .bf-hero-card .bf-stat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat,
  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-hero-stats,
  body.home .bf-hero-card .bf-stat-grid > .bf-stat,
  body.home .bf-hero-card .bf-stat-grid > .bf-hero-stats {
    min-height: 86px !important;
    padding: 10px 6px !important;
    border-radius: 12px !important;
  }

  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid .bf-hero-stats strong,
  body.home .bf-hero-card .bf-stat-grid .bf-hero-stats strong {
    font-size: clamp(1.08rem, 5.2vw, 1.5rem) !important;
  }

  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid .bf-hero-stats span,
  body.home .bf-hero-card .bf-stat-grid .bf-hero-stats span {
    font-size: clamp(.56rem, 2.35vw, .68rem) !important;
    line-height: 1.08 !important;
  }

  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > :nth-child(3) .bf-hero-stats span,
  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-hero-stats:nth-child(3) span,
  body.home .bf-hero-card .bf-stat-grid > :nth-child(3) .bf-hero-stats span,
  body.home .bf-hero-card .bf-stat-grid > .bf-hero-stats:nth-child(3) span {
    font-size: clamp(.47rem, 2vw, .57rem) !important;
    line-height: 1.04 !important;
  }
}

/* Homepage hero stat cards - final containment v2.9.156. */
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card,
body.home .bf-hero-card {
  box-sizing: border-box !important;
  overflow: hidden !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid,
body.home .bf-hero-card .bf-stat-grid {
  align-items: stretch !important;
  box-sizing: border-box !important;
  display: grid !important;
  gap: clamp(8px, 1vw, 14px) !important;
  grid-template-columns: minmax(0, .92fr) minmax(0, .92fr) minmax(0, 1.16fr) !important;
  inset: auto !important;
  justify-items: stretch !important;
  left: auto !important;
  margin: clamp(18px, 2vw, 26px) 0 0 !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: relative !important;
  right: auto !important;
  transform: none !important;
  width: 100% !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > :not(.bf-stat),
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat:nth-child(n+4),
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat:empty,
body.home .bf-hero-card .bf-stat-grid > :not(.bf-stat),
body.home .bf-hero-card .bf-stat-grid > .bf-stat:nth-child(n+4),
body.home .bf-hero-card .bf-stat-grid > .bf-stat:empty {
  display: none !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat,
body.home .bf-hero-card .bf-stat-grid > .bf-stat {
  align-items: flex-start !important;
  background: rgba(15, 15, 14, .74) !important;
  border: 1px solid rgba(255, 255, 255, .18) !important;
  border-radius: 16px !important;
  bottom: auto !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  float: none !important;
  grid-column: auto !important;
  grid-row: auto !important;
  inset: auto !important;
  justify-content: flex-start !important;
  left: auto !important;
  margin: 0 !important;
  max-width: 100% !important;
  min-height: clamp(112px, 7vw, 128px) !important;
  min-width: 0 !important;
  overflow: hidden !important;
  padding: clamp(16px, 1.1vw, 18px) clamp(12px, 1vw, 16px) !important;
  position: relative !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
  width: 100% !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat > p.bf-hero-stats,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat .bf-hero-stats,
body.home .bf-hero-card .bf-stat-grid > .bf-stat > p.bf-hero-stats,
body.home .bf-hero-card .bf-stat-grid > .bf-stat .bf-hero-stats {
  align-items: flex-start !important;
  bottom: auto !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  float: none !important;
  gap: .5rem !important;
  height: auto !important;
  inset: auto !important;
  justify-content: flex-start !important;
  left: auto !important;
  margin: 0 !important;
  max-width: 100% !important;
  min-height: 0 !important;
  min-width: 0 !important;
  overflow: hidden !important;
  overflow-wrap: normal !important;
  padding: 0 !important;
  position: static !important;
  right: auto !important;
  text-align: left !important;
  top: auto !important;
  transform: none !important;
  white-space: normal !important;
  width: 100% !important;
  word-break: normal !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat .bf-hero-stats strong,
body.home .bf-hero-card .bf-stat-grid > .bf-stat .bf-hero-stats strong {
  color: #ffb347 !important;
  display: block !important;
  font-size: clamp(1.55rem, 2vw, 2rem) !important;
  height: auto !important;
  line-height: 1 !important;
  margin: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  padding: 0 !important;
  text-align: left !important;
  transform: none !important;
  white-space: nowrap !important;
  width: 100% !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat .bf-hero-stats span,
body.home .bf-hero-card .bf-stat-grid > .bf-stat .bf-hero-stats span {
  color: rgba(255, 255, 255, .9) !important;
  display: block !important;
  font-size: clamp(.68rem, .74vw, .84rem) !important;
  font-weight: 750 !important;
  hyphens: none !important;
  letter-spacing: 0 !important;
  line-height: 1.18 !important;
  margin: 0 !important;
  max-width: 100% !important;
  overflow-wrap: normal !important;
  padding: 0 !important;
  text-align: left !important;
  transform: none !important;
  white-space: normal !important;
  width: 100% !important;
  word-break: normal !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat:nth-child(3) .bf-hero-stats span,
body.home .bf-hero-card .bf-stat-grid > .bf-stat:nth-child(3) .bf-hero-stats span {
  font-size: clamp(.56rem, .56vw, .66rem) !important;
  line-height: 1.08 !important;
  max-width: 12ch !important;
}

@media (max-width: 760px) {
  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid,
  body.home .bf-hero-card .bf-stat-grid {
    gap: 7px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat,
  body.home .bf-hero-card .bf-stat-grid > .bf-stat {
    border-radius: 13px !important;
    min-height: 94px !important;
    padding: 12px 9px !important;
  }

  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat .bf-hero-stats strong,
  body.home .bf-hero-card .bf-stat-grid > .bf-stat .bf-hero-stats strong {
    font-size: clamp(1.24rem, 5vw, 1.7rem) !important;
  }

  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat .bf-hero-stats span,
  body.home .bf-hero-card .bf-stat-grid > .bf-stat .bf-hero-stats span {
    font-size: clamp(.6rem, 2.45vw, .74rem) !important;
    line-height: 1.12 !important;
  }

  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat:nth-child(3) .bf-hero-stats span,
  body.home .bf-hero-card .bf-stat-grid > .bf-stat:nth-child(3) .bf-hero-stats span {
    font-size: clamp(.5rem, 2.1vw, .62rem) !important;
    max-width: 11ch !important;
  }
}

@media (max-width: 430px) {
  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid,
  body.home .bf-hero-card .bf-stat-grid {
    gap: 6px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid > .bf-stat,
  body.home .bf-hero-card .bf-stat-grid > .bf-stat {
    min-height: 88px !important;
    padding: 10px 7px !important;
  }
}

/* Final homepage hero text-safety guard. Keep this at the end so it wins over older hero experiments. */
body.home .entry-content > .bf-hero.alignfull:first-child {
  overflow: hidden !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .wp-block-column,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero__content,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-content,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-copy {
  min-width: 0 !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child h1,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-title {
  font-size: clamp(3.15rem, 5.8vw, 6.4rem) !important;
  line-height: 0.94 !important;
  max-width: min(100%, 10.75ch) !important;
  overflow-wrap: normal !important;
  text-wrap: balance;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card h2 {
  font-size: clamp(2.2rem, 3.2vw, 4.15rem) !important;
  line-height: 0.98 !important;
  text-wrap: balance;
}

@media (max-width: 900px) {
  body.home .entry-content > .bf-hero.alignfull:first-child h1,
  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-title {
    font-size: clamp(2.65rem, 11vw, 4.8rem) !important;
    max-width: 100% !important;
  }

  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card h2 {
    font-size: clamp(2.1rem, 8vw, 3.8rem) !important;
  }
}

@media (max-width: 520px) {
  body.home .entry-content > .bf-hero.alignfull:first-child h1,
  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-title {
    font-size: clamp(2.25rem, 13vw, 3.65rem) !important;
    line-height: 0.98 !important;
  }

  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card h2 {
    font-size: clamp(2rem, 10vw, 3.25rem) !important;
  }
}

/* Final price-board accordion and text-safety guard. */
.bf-price-board__sections {
  grid-template-columns: 1fr !important;
  gap: clamp(14px, 1.6vw, 22px) !important;
}

.bf-price-board__section,
.bf-price-board__section--nutrition,
.bf-price-board__section--memberships,
.bf-price-board__section--ygig,
.bf-price-board__section--online,
.bf-price-board__section--functional,
.bf-price-board__section--summer,
.bf-price-board__section--weight-loss-coaching,
.bf-price-board__section--training-core {
  grid-column: auto !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.bf-price-board__toggle {
  align-items: center !important;
  appearance: none !important;
  background: rgba(255, 255, 255, 0.02) !important;
  border: 0 !important;
  color: inherit !important;
  cursor: pointer !important;
  display: flex !important;
  gap: clamp(14px, 2vw, 28px) !important;
  justify-content: space-between !important;
  padding: clamp(20px, 2.2vw, 34px) !important;
  text-align: left !important;
  width: 100% !important;
}

.bf-price-board__toggle:hover,
.bf-price-board__section.is-open .bf-price-board__toggle {
  background: linear-gradient(135deg, rgba(255, 107, 53, 0.16), rgba(0, 0, 0, 0.1)) !important;
}

.bf-price-board__toggle:focus-visible {
  outline: 3px solid rgba(255, 107, 53, 0.65) !important;
  outline-offset: -3px !important;
}

.bf-price-board__section-head {
  align-items: flex-start !important;
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
  min-width: 0 !important;
  text-align: left !important;
}

.bf-price-board__kicker {
  color: #ff6b35 !important;
  display: block !important;
  font-size: clamp(0.76rem, 0.9vw, 0.95rem) !important;
  font-weight: 900 !important;
  letter-spacing: 0.18em !important;
  line-height: 1.1 !important;
  margin-bottom: 0.35rem !important;
  text-transform: uppercase !important;
}

.bf-price-board__section-title {
  color: #fffaf0 !important;
  display: block !important;
  font-size: clamp(1.55rem, 3vw, 3.1rem) !important;
  font-weight: 950 !important;
  letter-spacing: 0.04em !important;
  line-height: 0.98 !important;
  overflow-wrap: anywhere !important;
  text-transform: uppercase !important;
}

.bf-price-board__section-subtitle {
  color: #f0ae3c !important;
  display: block !important;
  font-size: clamp(0.9rem, 1.1vw, 1.08rem) !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em !important;
  line-height: 1.25 !important;
  margin-top: 0.55rem !important;
  text-transform: uppercase !important;
}

.bf-price-board__toggle-icon {
  border: 1px solid rgba(240, 174, 60, 0.55) !important;
  border-radius: 999px !important;
  flex: 0 0 42px !important;
  height: 42px !important;
  position: relative !important;
  width: 42px !important;
}

.bf-price-board__toggle-icon::before,
.bf-price-board__toggle-icon::after {
  background: #f0ae3c !important;
  content: "" !important;
  left: 50% !important;
  position: absolute !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
}

.bf-price-board__toggle-icon::before {
  height: 2px !important;
  width: 16px !important;
}

.bf-price-board__toggle-icon::after {
  height: 16px !important;
  width: 2px !important;
}

.bf-price-board__section.is-open .bf-price-board__toggle-icon::after {
  opacity: 0 !important;
}

.bf-price-board__panel[hidden] {
  display: none !important;
}

.bf-price-board__panel {
  padding: 0 clamp(18px, 2.2vw, 34px) clamp(22px, 2.4vw, 36px) !important;
}

.bf-price-board__list {
  grid-template-columns: 1fr !important;
}

@media (min-width: 1000px) {
  .bf-price-board__section.is-open .bf-price-board__list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .bf-price-board__section--sport.is-open .bf-price-board__list,
  .bf-price-board__section--memberships.is-open .bf-price-board__list,
  .bf-price-board__section--ygig.is-open .bf-price-board__list,
  .bf-price-board__section--online.is-open .bf-price-board__list,
  .bf-price-board__section--weight-loss-coaching.is-open .bf-price-board__list {
    grid-template-columns: 1fr !important;
  }
}

.bf-price-board .bf-price-board__item {
  align-items: center !important;
  column-gap: clamp(12px, 1.4vw, 22px) !important;
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) max-content !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.bf-price-board .bf-price-board__copy {
  min-width: 0 !important;
  padding-right: clamp(10px, 2vw, 28px) !important;
}

.bf-price-board .bf-price-board__copy strong {
  font-size: clamp(0.9rem, 1vw, 1.08rem) !important;
  hyphens: auto !important;
  line-height: 1.08 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

.bf-price-board .bf-price-board__copy em,
.bf-price-board .bf-price-board__copy small {
  overflow-wrap: anywhere !important;
}

.bf-price-board .bf-price-board__price {
  font-size: clamp(1.2rem, 1.65vw, 1.75rem) !important;
  justify-self: end !important;
  line-height: 1 !important;
  min-width: max-content !important;
  white-space: nowrap !important;
}

@media (max-width: 700px) {
  .bf-price-board__toggle {
    padding: 18px !important;
  }

  .bf-price-board__section-title {
    font-size: clamp(1.35rem, 8vw, 2rem) !important;
  }

  .bf-price-board__toggle-icon {
    flex-basis: 36px !important;
    height: 36px !important;
    width: 36px !important;
  }

  .bf-price-board__panel {
    padding: 0 16px 18px !important;
  }

  .bf-price-board .bf-price-board__item {
    grid-template-columns: 38px minmax(0, 1fr) !important;
    row-gap: 0.35rem !important;
  }

  .bf-price-board .bf-price-board__price {
    grid-column: 2 !important;
    justify-self: start !important;
    margin-top: 0.15rem !important;
    white-space: nowrap !important;
  }

  .bf-price-board .bf-price-board__copy {
    padding-right: 0 !important;
  }
}

/* Final homepage hero stat-card guard. */
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat:empty {
  display: none !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid {
  align-items: stretch !important;
  display: grid !important;
  gap: clamp(10px, 1.1vw, 16px) !important;
  grid-template-columns: repeat(3, minmax(90px, 1fr)) !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat {
  align-items: center !important;
  display: flex !important;
  justify-content: center !important;
  min-height: 138px !important;
  overflow: hidden !important;
  padding: clamp(14px, 1.4vw, 20px) !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat .bf-hero-stats,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat p.bf-hero-stats {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  height: 100% !important;
  justify-content: center !important;
  min-width: 0 !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat .bf-hero-stats strong {
  display: block !important;
  font-size: clamp(1.55rem, 2.1vw, 2.05rem) !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat .bf-hero-stats span {
  display: block !important;
  font-size: clamp(0.78rem, 0.9vw, 0.94rem) !important;
  line-height: 1.22 !important;
  max-width: 11ch !important;
  overflow-wrap: normal !important;
}

@media (max-width: 640px) {
  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat {
    min-height: 112px !important;
    padding: 12px !important;
  }
}

/* Final price-board accordion and text-safety guard. */
.bf-price-board__sections {
  grid-template-columns: 1fr !important;
  gap: clamp(14px, 1.6vw, 22px) !important;
}

.bf-price-board__section,
.bf-price-board__section--nutrition,
.bf-price-board__section--memberships,
.bf-price-board__section--ygig,
.bf-price-board__section--online,
.bf-price-board__section--functional,
.bf-price-board__section--summer,
.bf-price-board__section--weight-loss-coaching,
.bf-price-board__section--training-core {
  grid-column: auto !important;
  overflow: hidden !important;
  padding: 0 !important;
}

.bf-price-board__toggle {
  align-items: center !important;
  appearance: none !important;
  background: rgba(255, 255, 255, 0.02) !important;
  border: 0 !important;
  color: inherit !important;
  cursor: pointer !important;
  display: flex !important;
  gap: clamp(14px, 2vw, 28px) !important;
  justify-content: space-between !important;
  padding: clamp(20px, 2.2vw, 34px) !important;
  text-align: left !important;
  width: 100% !important;
}

.bf-price-board__toggle:hover,
.bf-price-board__section.is-open .bf-price-board__toggle {
  background: linear-gradient(135deg, rgba(255, 107, 53, 0.16), rgba(0, 0, 0, 0.1)) !important;
}

.bf-price-board__toggle:focus-visible {
  outline: 3px solid rgba(255, 107, 53, 0.65) !important;
  outline-offset: -3px !important;
}

.bf-price-board__section-head {
  align-items: flex-start !important;
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
  min-width: 0 !important;
  text-align: left !important;
}

.bf-price-board__kicker {
  color: #ff6b35 !important;
  display: block !important;
  font-size: clamp(0.76rem, 0.9vw, 0.95rem) !important;
  font-weight: 900 !important;
  letter-spacing: 0.18em !important;
  line-height: 1.1 !important;
  margin-bottom: 0.35rem !important;
  text-transform: uppercase !important;
}

.bf-price-board__section-title {
  color: #fffaf0 !important;
  display: block !important;
  font-size: clamp(1.55rem, 3vw, 3.1rem) !important;
  font-weight: 950 !important;
  letter-spacing: 0.04em !important;
  line-height: 0.98 !important;
  overflow-wrap: anywhere !important;
  text-transform: uppercase !important;
}

.bf-price-board__section-subtitle {
  color: #f0ae3c !important;
  display: block !important;
  font-size: clamp(0.9rem, 1.1vw, 1.08rem) !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em !important;
  line-height: 1.25 !important;
  margin-top: 0.55rem !important;
  text-transform: uppercase !important;
}

.bf-price-board__toggle-icon {
  border: 1px solid rgba(240, 174, 60, 0.55) !important;
  border-radius: 999px !important;
  flex: 0 0 42px !important;
  height: 42px !important;
  position: relative !important;
  width: 42px !important;
}

.bf-price-board__toggle-icon::before,
.bf-price-board__toggle-icon::after {
  background: #f0ae3c !important;
  content: "" !important;
  left: 50% !important;
  position: absolute !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
}

.bf-price-board__toggle-icon::before {
  height: 2px !important;
  width: 16px !important;
}

.bf-price-board__toggle-icon::after {
  height: 16px !important;
  width: 2px !important;
}

.bf-price-board__section.is-open .bf-price-board__toggle-icon::after {
  opacity: 0 !important;
}

.bf-price-board__panel[hidden] {
  display: none !important;
}

.bf-price-board__panel {
  padding: 0 clamp(18px, 2.2vw, 34px) clamp(22px, 2.4vw, 36px) !important;
}

.bf-price-board__list {
  grid-template-columns: 1fr !important;
}

@media (min-width: 1000px) {
  .bf-price-board__section.is-open .bf-price-board__list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .bf-price-board__section--sport.is-open .bf-price-board__list,
  .bf-price-board__section--memberships.is-open .bf-price-board__list,
  .bf-price-board__section--weight-loss-coaching.is-open .bf-price-board__list {
    grid-template-columns: 1fr !important;
  }
}

.bf-price-board .bf-price-board__item {
  align-items: center !important;
  column-gap: clamp(12px, 1.4vw, 22px) !important;
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) max-content !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.bf-price-board .bf-price-board__copy {
  min-width: 0 !important;
  padding-right: clamp(10px, 2vw, 28px) !important;
}

.bf-price-board .bf-price-board__copy strong {
  font-size: clamp(0.9rem, 1vw, 1.08rem) !important;
  hyphens: auto !important;
  line-height: 1.08 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

.bf-price-board .bf-price-board__copy em,
.bf-price-board .bf-price-board__copy small {
  overflow-wrap: anywhere !important;
}

.bf-price-board .bf-price-board__price {
  font-size: clamp(1.2rem, 1.65vw, 1.75rem) !important;
  justify-self: end !important;
  line-height: 1 !important;
  min-width: max-content !important;
  white-space: nowrap !important;
}

@media (max-width: 700px) {
  .bf-price-board__toggle {
    padding: 18px !important;
  }

  .bf-price-board__section-title {
    font-size: clamp(1.35rem, 8vw, 2rem) !important;
  }

  .bf-price-board__toggle-icon {
    flex-basis: 36px !important;
    height: 36px !important;
    width: 36px !important;
  }

  .bf-price-board__panel {
    padding: 0 16px 18px !important;
  }

  .bf-price-board .bf-price-board__item {
    grid-template-columns: 38px minmax(0, 1fr) !important;
    row-gap: 0.35rem !important;
  }

  .bf-price-board .bf-price-board__price {
    grid-column: 2 !important;
    justify-self: start !important;
    margin-top: 0.15rem !important;
    white-space: nowrap !important;
  }

  .bf-price-board .bf-price-board__copy {
    padding-right: 0 !important;
  }
}

/* Final homepage hero stat-card guard. */
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat:empty {
  display: none !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid {
  align-items: stretch !important;
  display: grid !important;
  gap: clamp(10px, 1.1vw, 16px) !important;
  grid-template-columns: repeat(3, minmax(90px, 1fr)) !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat {
  align-items: center !important;
  display: flex !important;
  justify-content: center !important;
  min-height: 138px !important;
  overflow: hidden !important;
  padding: clamp(14px, 1.4vw, 20px) !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat .bf-hero-stats,
body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat p.bf-hero-stats {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  height: 100% !important;
  justify-content: center !important;
  min-width: 0 !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat .bf-hero-stats strong {
  display: block !important;
  font-size: clamp(1.55rem, 2.1vw, 2.05rem) !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat .bf-hero-stats span {
  display: block !important;
  font-size: clamp(0.78rem, 0.9vw, 0.94rem) !important;
  line-height: 1.22 !important;
  max-width: 11ch !important;
  overflow-wrap: normal !important;
}

@media (max-width: 640px) {
  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.home .entry-content > .bf-hero.alignfull:first-child .bf-hero-card .bf-stat {
    min-height: 112px !important;
    padding: 12px !important;
  }
}

/* Homepage origin story: keep the copy on one clean reading axis. */
body.home .entry-content > .bf-hero.alignfull:nth-child(4) {
  justify-items: center;
  text-align: left;
}

body.home .entry-content > .bf-hero.alignfull:nth-child(4) h2 {
  width: min(820px, 100%);
  margin-inline: auto;
  text-align: center;
}

body.home .entry-content > .bf-hero.alignfull:nth-child(4) p,
body.home .entry-content > .bf-hero.alignfull:nth-child(4) .bf-lead {
  width: min(760px, 100%);
  max-width: 760px !important;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}

body.home .entry-content > .bf-hero.alignfull:nth-child(4) p:not(:last-of-type) {
  margin-bottom: 1.05rem;
}

body.home .entry-content > .bf-hero.alignfull:nth-child(4) .wp-block-buttons {
  width: min(760px, 100%);
  margin-left: auto;
  margin-right: auto;
  justify-content: center;
}

@media (max-width: 680px) {
  body.home .entry-content > .bf-hero.alignfull:nth-child(4) h2,
  body.home .entry-content > .bf-hero.alignfull:nth-child(4) p,
  body.home .entry-content > .bf-hero.alignfull:nth-child(4) .bf-lead {
    width: 100%;
  }
}

/* Homepage stat card number alignment guard. Keep the number row level across uneven label lengths. */
body.home .entry-content > .bf-hero.alignfull .bf-stat {
  align-items: flex-start !important;
}

body.home .entry-content > .bf-hero.alignfull .bf-hero-stats {
  align-content: start !important;
  display: grid !important;
  gap: 16px !important;
  grid-template-rows: minmax(2.4rem, auto) auto !important;
  justify-content: stretch !important;
  padding-top: 0 !important;
}

body.home .entry-content > .bf-hero.alignfull .bf-hero-stats strong {
  align-self: start !important;
  display: block !important;
  line-height: 1 !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

body.home .entry-content > .bf-hero.alignfull .bf-hero-stats strong * {
  display: inline !important;
  white-space: nowrap !important;
}

body.home .entry-content > .bf-hero.alignfull .bf-hero-stats span {
  align-self: start !important;
  display: block !important;
  margin: 0 !important;
}

@media (max-width: 680px) {
  body.home .entry-content > .bf-hero.alignfull .bf-hero-stats {
    gap: 12px !important;
    grid-template-rows: minmax(2rem, auto) auto !important;
  }
}

/* Homepage background-image blocks: final cascade guard for readability. */
body.home .entry-content > .bf-hero.alignfull {
  color: #fffaf0;
}

body.home .entry-content > .bf-hero.alignfull::after {
  background:
    radial-gradient(circle at 16% 24%, rgba(243, 112, 33, 0.2), transparent 30%),
    linear-gradient(90deg, rgba(7, 8, 8, 0.98) 0%, rgba(7, 8, 8, 0.88) 42%, rgba(7, 8, 8, 0.62) 72%, rgba(7, 8, 8, 0.38) 100%),
    linear-gradient(180deg, rgba(7, 8, 8, 0.12) 0%, rgba(7, 8, 8, 0.74) 100%) !important;
}

body.home .entry-content > .bf-hero.alignfull h1,
body.home .entry-content > .bf-hero.alignfull h2,
body.home .entry-content .bf-image-hero h2,
body.home .entry-content .bf-background-showcase h2,
body.home .entry-content .bf-trust-block h2 {
  color: #fffaf0 !important;
  text-shadow: 0 8px 34px rgba(0, 0, 0, 0.92) !important;
}

body.home .entry-content > .bf-hero.alignfull .bf-hero-card {
  background: linear-gradient(145deg, rgba(10, 10, 9, 0.9), rgba(10, 10, 9, 0.58)) !important;
}

body.home .entry-content > .bf-hero.alignfull .bf-stat-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch !important;
  gap: clamp(10px, 1.2vw, 16px) !important;
}

body.home .entry-content > .bf-hero.alignfull .bf-stat {
  display: flex !important;
  align-items: center !important;
  min-width: 0 !important;
  min-height: 132px;
  padding: 18px 20px;
  border-color: rgba(255, 255, 255, 0.18) !important;
  background: linear-gradient(180deg, rgba(20, 20, 18, 0.9), rgba(20, 20, 18, 0.68)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

body.home .entry-content > .bf-hero.alignfull .bf-hero-stats {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

body.home .entry-content > .bf-hero.alignfull .bf-hero-stats strong,
body.home .entry-content > .bf-hero.alignfull .bf-hero-stats strong * {
  display: inline-block !important;
  white-space: nowrap !important;
  color: #f6b553 !important;
}

body.home .entry-content > .bf-hero.alignfull .bf-hero-stats span {
  display: block !important;
  color: rgba(255, 250, 240, 0.9) !important;
  background: transparent !important;
  line-height: 1.38 !important;
  overflow-wrap: normal !important;
}

body.home .entry-content > .bf-hero.alignfull .bf-hero-stats span * {
  display: inline !important;
  background: transparent !important;
}

body.home .entry-content .bf-bg-cards {
  align-items: stretch !important;
}

body.home .entry-content .bf-bg-card {
  display: flex !important;
  min-width: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  background-color: #0b0d0f !important;
}

body.home .entry-content .bf-bg-card::before {
  background:
    linear-gradient(180deg, rgba(8, 10, 12, 0.34) 0%, rgba(8, 10, 12, 0.78) 52%, rgba(8, 10, 12, 0.98) 100%) !important;
}

body.home .entry-content .bf-bg-card__content {
  justify-content: flex-end !important;
  width: 100% !important;
}

@media (max-width: 680px) {
  body.home .entry-content > .bf-hero.alignfull .bf-stat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px !important;
  }

  body.home .entry-content > .bf-hero.alignfull .bf-stat {
    min-height: 118px;
    padding: 12px;
  }

  body.home .entry-content > .bf-hero.alignfull .bf-hero-stats strong {
    font-size: clamp(1.35rem, 7vw, 2rem);
  }

  body.home .entry-content > .bf-hero.alignfull .bf-hero-stats span {
    font-size: 0.78rem;
  }
}

@media (max-width: 430px) {
  body.home .entry-content > .bf-hero.alignfull .bf-stat-grid {
    grid-template-columns: 1fr;
  }

  body.home .entry-content > .bf-hero.alignfull .bf-stat {
    min-height: 0;
  }
}

/* Homepage background blocks: final readability and card alignment pass. */
body.home .entry-content > .bf-hero.alignfull {
  color: #fffaf0;
}

body.home .entry-content > .bf-hero.alignfull::after {
  background:
    radial-gradient(circle at 16% 24%, rgba(243, 112, 33, 0.2), transparent 30%),
    linear-gradient(90deg, rgba(7, 8, 8, 0.98) 0%, rgba(7, 8, 8, 0.88) 42%, rgba(7, 8, 8, 0.62) 72%, rgba(7, 8, 8, 0.38) 100%),
    linear-gradient(180deg, rgba(7, 8, 8, 0.1) 0%, rgba(7, 8, 8, 0.74) 100%);
}

body.home .entry-content > .bf-hero.alignfull h1,
body.home .entry-content .bf-image-hero h2,
body.home .entry-content .bf-background-showcase h2,
body.home .entry-content .bf-trust-block h2 {
  color: #fffaf0 !important;
  text-shadow: 0 8px 34px rgba(0, 0, 0, 0.92);
}

body.home .entry-content > .bf-hero.alignfull .bf-hero-card {
  background: linear-gradient(145deg, rgba(10, 10, 9, 0.86), rgba(10, 10, 9, 0.54)) !important;
}

body.home .entry-content > .bf-hero.alignfull .bf-stat-grid {
  align-items: stretch;
  gap: clamp(10px, 1.2vw, 16px);
}

body.home .entry-content > .bf-hero.alignfull .bf-stat {
  display: flex !important;
  align-items: flex-start !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  min-width: 0;
  min-height: 132px;
  padding: 18px 20px;
  border-color: rgba(255, 255, 255, 0.18) !important;
  background: linear-gradient(180deg, rgba(20, 20, 18, 0.9), rgba(20, 20, 18, 0.68)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

body.home .entry-content > .bf-hero.alignfull .bf-hero-stats {
  align-content: start !important;
  display: grid !important;
  gap: 12px;
  grid-template-rows: minmax(2.4rem, auto) auto !important;
  justify-items: start !important;
  width: 100%;
  min-width: 0;
}

body.home .entry-content > .bf-hero.alignfull .bf-hero-stats strong,
body.home .entry-content > .bf-hero.alignfull .bf-hero-stats strong * {
  display: inline-block !important;
  white-space: nowrap !important;
}

body.home .entry-content > .bf-hero.alignfull .bf-hero-stats span {
  display: block !important;
  color: rgba(255, 250, 240, 0.9) !important;
  background: transparent !important;
  line-height: 1.38;
  overflow-wrap: normal;
}

body.home .entry-content > .bf-hero.alignfull .bf-hero-stats span * {
  display: inline !important;
  background: transparent !important;
}

body.home .entry-content .bf-bg-cards {
  align-items: stretch;
}

body.home .entry-content .bf-bg-card {
  display: flex;
  min-width: 0;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background-color: #0b0d0f !important;
}

body.home .entry-content .bf-bg-card::before {
  background:
    linear-gradient(180deg, rgba(8, 10, 12, 0.34) 0%, rgba(8, 10, 12, 0.78) 52%, rgba(8, 10, 12, 0.98) 100%) !important;
}

body.home .entry-content .bf-bg-card__content {
  justify-content: flex-end;
  width: 100%;
}

@media (max-width: 680px) {
  body.home .entry-content > .bf-hero.alignfull .bf-stat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  body.home .entry-content > .bf-hero.alignfull .bf-stat {
    min-height: 118px;
    padding: 12px;
  }

  body.home .entry-content > .bf-hero.alignfull .bf-hero-stats strong {
    font-size: clamp(1.35rem, 7vw, 2rem);
  }

  body.home .entry-content > .bf-hero.alignfull .bf-hero-stats span {
    font-size: 0.78rem;
  }
}

@media (max-width: 430px) {
  body.home .entry-content > .bf-hero.alignfull .bf-stat-grid {
    grid-template-columns: 1fr;
  }

  body.home .entry-content > .bf-hero.alignfull .bf-stat {
    min-height: 0;
  }
}

/* Homepage hero image treatment. Keeps the existing Gutenberg H1 as the single page H1. */
body.home .entry-content > .bf-hero.alignfull {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: min(1600px, calc(100% - 40px));
  max-width: none;
  min-height: clamp(620px, calc(100svh - 150px), 820px);
  margin: clamp(18px, 3vw, 36px) auto clamp(56px, 7vw, 94px);
  padding: clamp(34px, 6vw, 88px);
  display: grid;
  align-items: center;
  border-radius: 18px;
  color: #fffaf0;
  background: #0b0d0f;
  box-shadow: 0 28px 90px rgba(21, 16, 10, 0.22);
}

body.home .entry-content > .bf-hero.alignfull::before,
body.home .entry-content > .bf-hero.alignfull::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

body.home .entry-content > .bf-hero.alignfull::before {
  z-index: -2;
  background-image: url("/wp-content/themes/beastfactory-solid/assets/images/personlig-traening-gergo-coaching-client-dumbbell-cinematic.webp");
  background-size: cover;
  background-position: center right;
  transform: scale(1.01);
}

body.home .entry-content > .bf-hero.alignfull::after {
  z-index: -1;
  background:
    radial-gradient(circle at 24% 30%, rgba(243, 112, 33, 0.18), transparent 26%),
    linear-gradient(90deg, rgba(8, 8, 7, 0.94) 0%, rgba(8, 8, 7, 0.78) 37%, rgba(8, 8, 7, 0.34) 65%, rgba(8, 8, 7, 0.24) 100%),
    linear-gradient(180deg, rgba(8, 8, 7, 0.2) 0%, rgba(8, 8, 7, 0.76) 100%);
}

body.home .entry-content > .bf-hero.alignfull > .wp-block-columns {
  width: min(1240px, 100%);
  max-width: none;
  margin: 0;
  gap: clamp(26px, 5vw, 74px);
  align-items: end !important;
}

body.home .entry-content > .bf-hero.alignfull .wp-block-column:first-child {
  flex-basis: min(700px, 100%) !important;
}

body.home .entry-content > .bf-hero.alignfull .wp-block-column:last-child {
  align-self: end;
}

body.home .entry-content > .bf-hero.alignfull .bf-eyebrow {
  color: #f6b553;
  letter-spacing: 0.12em;
}

body.home .entry-content > .bf-hero.alignfull h1 {
  max-width: 780px;
  margin: 0 0 24px;
  color: #fffaf0;
  font-size: clamp(3.25rem, 7vw, 6.8rem);
  line-height: 0.88;
  letter-spacing: 0;
  text-wrap: balance;
}

body.home .entry-content > .bf-hero.alignfull h2 {
  max-width: 820px;
  margin: 0 auto 28px;
  color: #fffaf0 !important;
  font-size: clamp(2.65rem, 5.2vw, 5.4rem);
  line-height: 0.96;
  letter-spacing: 0;
  text-align: center;
  text-shadow: 0 6px 30px rgba(0, 0, 0, 0.86);
  text-wrap: balance;
}

body.home .entry-content > .bf-hero.alignfull .bf-lead {
  max-width: 710px;
  color: rgba(255, 250, 240, 0.86);
  font-size: clamp(1.05rem, 1.35vw, 1.28rem);
  line-height: 1.48;
}

body.home .entry-content > .bf-hero.alignfull .wp-block-buttons {
  margin-top: 28px;
}

body.home .entry-content > .bf-hero.alignfull .wp-block-button__link {
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.22);
}

body.home .entry-content > .bf-hero.alignfull .wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background: #ff6938;
  color: #15110d;
}

body.home .entry-content > .bf-hero.alignfull .wp-block-button.is-style-outline .wp-block-button__link {
  border-color: rgba(255, 255, 255, 0.35);
  color: #fffaf0;
  background: rgba(255, 255, 255, 0.07);
}

body.home .entry-content > .bf-hero.alignfull .bf-hero-card {
  max-width: 440px;
  margin-left: auto;
  padding: clamp(20px, 2.8vw, 30px);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(8, 8, 7, 0.62), rgba(8, 8, 7, 0.28));
  color: #fffaf0;
  box-shadow: none;
  backdrop-filter: blur(14px);
}

body.home .entry-content > .bf-hero.alignfull .bf-hero-card > figure {
  display: none;
}

body.home .entry-content > .bf-hero.alignfull .bf-hero-card p {
  color: rgba(255, 250, 240, 0.8);
}

body.home .entry-content > .bf-hero.alignfull .bf-hero-card h2 {
  margin: 18px 0 18px;
  color: #fffaf0;
  font-size: clamp(1.8rem, 3vw, 3.15rem);
  line-height: 0.96;
  letter-spacing: 0;
}

body.home .entry-content > .bf-hero.alignfull .bf-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 20px;
}

body.home .entry-content > .bf-hero.alignfull .bf-stat {
  min-height: 124px;
  padding: 16px;
  display: flex !important;
  align-items: stretch !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(17, 19, 20, 0.82), rgba(17, 19, 20, 0.58));
}

body.home .entry-content > .bf-hero.alignfull .bf-hero-stats {
  align-content: start !important;
  display: grid !important;
  gap: 8px !important;
  grid-template-rows: 2.55rem auto !important;
  justify-items: start !important;
  margin: 0;
  min-width: 0;
  width: 100%;
  color: rgba(255, 250, 240, 0.82);
}

body.home .entry-content > .bf-hero.alignfull .bf-hero-stats strong {
  align-self: start !important;
  display: block !important;
  grid-row: 1 !important;
  justify-self: start !important;
  margin: 0 !important;
  white-space: nowrap !important;
  color: #f6b553;
  font-size: clamp(1.7rem, 2.4vw, 2.35rem);
  line-height: 1;
}

body.home .entry-content > .bf-hero.alignfull .bf-hero-stats strong * {
  display: inline !important;
  white-space: nowrap;
}

body.home .entry-content > .bf-hero.alignfull .bf-hero-stats span {
  display: block;
  grid-row: 2 !important;
  margin: 0 !important;
  color: rgba(255, 250, 240, 0.82);
  font-size: 0.94rem;
  line-height: 1.42;
}

body.home .entry-content > .bf-hero.alignfull .bf-hero-stats span span {
  background: transparent !important;
  display: inline !important;
}

@media (max-width: 980px) {
  body.home .entry-content > .bf-hero.alignfull {
    min-height: 0;
    padding: clamp(30px, 7vw, 58px);
  }

  body.home .entry-content > .bf-hero.alignfull::after {
    background:
      radial-gradient(circle at 18% 22%, rgba(243, 112, 33, 0.16), transparent 28%),
      linear-gradient(90deg, rgba(8, 8, 7, 0.95) 0%, rgba(8, 8, 7, 0.78) 62%, rgba(8, 8, 7, 0.5) 100%),
      linear-gradient(180deg, rgba(8, 8, 7, 0.24) 0%, rgba(8, 8, 7, 0.82) 100%);
  }

  body.home .entry-content > .bf-hero.alignfull > .wp-block-columns {
    flex-direction: column;
    align-items: stretch !important;
  }

  body.home .entry-content > .bf-hero.alignfull .bf-hero-card {
    max-width: none;
    margin: 0;
  }
}

@media (max-width: 680px) {
  body.home .entry-content > .bf-hero.alignfull {
    width: min(100% - 20px, 100%);
    margin-top: 12px;
    padding: 28px 22px;
    border-radius: 14px;
  }

  body.home .entry-content > .bf-hero.alignfull::before {
    background-position: 62% center;
  }

  body.home .entry-content > .bf-hero.alignfull h1 {
    font-size: clamp(3rem, 17vw, 4.8rem);
  }

  body.home .entry-content > .bf-hero.alignfull .bf-stat-grid {
    grid-template-columns: 1fr;
  }

  body.home .entry-content > .bf-hero.alignfull .bf-stat {
    min-height: 0;
  }
}

.bf-planway-service-list,
.bf-planway-membership-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 18px;
}

.bf-planway-service-card,
.bf-planway-membership-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 100%;
  padding: 20px;
  border: 1px solid var(--bf-line);
  background: var(--bf-panel);
}

.bf-planway-service-title {
  margin: 0;
  font-size: 1.05rem;
}

.bf-planway-service-price {
  margin: 0;
  color: var(--bf-orange);
  font-size: 1.25rem;
  font-weight: 800;
}

.bf-planway-service-duration,
.bf-planway-price--unavailable {
  color: var(--bf-muted);
}

.bf-planway-booking-button {
  margin-top: auto;
}

.bf-leaderboard-editable-section {
  width: min(1120px, calc(100% - 32px));
  margin: clamp(28px, 5vw, 64px) auto;
}

.bf-leaderboard-editable-intro,
.bf-leaderboard-editable-cta {
  padding: clamp(28px, 5vw, 52px);
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(24, 20, 16, 0.1);
  border-radius: 18px;
  box-shadow: 0 24px 70px rgba(24, 20, 16, 0.08);
}

.bf-leaderboard-editable-intro h1,
.bf-leaderboard-editable-cta h2,
.bf-leaderboard-editable-how h2 {
  max-width: 780px;
  margin-top: 0;
  overflow-wrap: anywhere;
}

.bf-leaderboard-editable-intro p,
.bf-leaderboard-editable-cta p,
.bf-leaderboard-editable-how p {
  max-width: 760px;
}

.bf-leaderboard-editable-how {
  gap: 20px;
}

.bf-leaderboard-editable-how .wp-block-column {
  padding: 24px;
  background: #ffffff;
  border: 1px solid rgba(24, 20, 16, 0.1);
  border-radius: 16px;
  box-shadow: 0 18px 44px rgba(24, 20, 16, 0.06);
}

.bf-leaderboard-dynamic-module {
  width: min(1320px, calc(100% - 24px));
  max-width: none;
  margin: 0 auto;
}

.bf-program-app {
  --bf-program-bg: #080a0a;
  --bf-program-panel: rgba(18, 20, 20, 0.96);
  --bf-program-panel-2: rgba(26, 28, 28, 0.94);
  --bf-program-line: rgba(255, 255, 255, 0.14);
  --bf-program-text: #f7f7f0;
  --bf-program-muted: #b9bdb5;
  --bf-program-lime: var(--bf-orange);
  --bf-program-orange: var(--bf-orange);
  width: min(1240px, calc(100% - 32px));
  margin: 42px auto;
  color: var(--bf-program-text);
  background:
    radial-gradient(circle at 78% 12%, rgba(243, 112, 33, 0.16), transparent 28%),
    linear-gradient(135deg, #070808 0%, #121313 48%, #080909 100%);
  border: 1px solid var(--bf-program-line);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.36);
}

.bf-program-app a {
  color: inherit;
}

.bf-program-hero {
  min-height: 300px;
  padding: 28px 32px 42px;
  background:
    linear-gradient(90deg, rgba(8, 9, 9, 0.98), rgba(8, 9, 9, 0.76), rgba(8, 9, 9, 0.92)),
    radial-gradient(circle at 72% 22%, rgba(255, 255, 255, 0.11), transparent 22%);
  border-bottom: 1px solid var(--bf-program-line);
}

.bf-program-hero__brand,
.bf-program-hero__nav {
  display: flex;
  align-items: center;
  gap: 18px;
}

.bf-program-hero__brand {
  justify-content: space-between;
  margin-bottom: 54px;
  text-transform: uppercase;
}

.bf-program-hero__brand strong {
  font-size: 1.2rem;
}

.bf-program-hero__brand span,
.bf-program-hero__nav a,
.bf-program-hero__copy p,
.bf-program-row__meta p {
  color: var(--bf-program-lime);
  font-weight: 800;
  text-transform: uppercase;
}

.bf-program-hero__nav a {
  color: var(--bf-program-text);
  font-size: 0.78rem;
  text-decoration: none;
  opacity: 0.76;
}

.bf-program-hero__nav a.is-active,
.bf-program-hero__nav a:hover {
  color: var(--bf-program-lime);
  opacity: 1;
}

.bf-program-hero__copy p {
  margin: 0 0 8px;
  font-size: 0.95rem;
}

.bf-program-hero__copy h2 {
  margin: 0;
  color: #fff;
  font-size: 6.5rem;
  line-height: 0.9;
  text-transform: uppercase;
}

.bf-program-hero__copy span {
  display: block;
  margin-top: 20px;
  color: #fff;
  font-size: 1.15rem;
  text-transform: uppercase;
}

.bf-program-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 16px;
  padding: 16px;
}

.bf-program-list,
.bf-program-sidebar {
  display: grid;
  gap: 14px;
}

.bf-program-row {
  display: grid;
  grid-template-columns: 104px minmax(180px, 260px) minmax(0, 1fr) minmax(150px, 170px);
  min-height: 188px;
  background: linear-gradient(135deg, rgba(22, 24, 24, 0.98), rgba(11, 12, 12, 0.98));
  border: 1px solid var(--bf-program-line);
  border-radius: 8px;
  overflow: hidden;
}

.bf-program-row > *,
.bf-program-shell > *,
.bf-program-sidebar > *,
.bf-program-card > *,
.bf-program-bottom-cta > *,
.bf-profile-dashboard > *,
.bf-client-dashboard__layout > *,
.bf-client-dashboard__account-grid > *,
.bf-leaderboard-title-row > * {
  min-width: 0;
}

.bf-program-row__day,
.bf-program-row__meta,
.bf-program-row__work,
.bf-program-row__action {
  padding: 26px;
}

.bf-program-row__day {
  display: grid;
  place-items: center;
  border-right: 1px solid var(--bf-program-line);
  text-transform: uppercase;
}

.bf-program-row__day span {
  color: #fff;
  font-size: 0.76rem;
  font-weight: 800;
}

.bf-program-row__day strong {
  color: var(--bf-program-lime);
  font-size: 4.8rem;
  line-height: 1;
}

.bf-program-row__meta {
  border-right: 1px solid var(--bf-program-line);
}

.bf-program-row__meta h3 {
  margin: 0;
  color: #fff;
  font-size: 2.05rem;
  line-height: 1;
  text-transform: uppercase;
  overflow-wrap: anywhere;
  hyphens: auto;
}

.bf-program-row__meta p {
  margin: 12px 0 18px;
  font-size: 0.8rem;
}

.bf-program-row ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.bf-program-row__meta li,
.bf-program-row__work li,
.bf-program-muted {
  color: var(--bf-program-muted);
}

.bf-program-row__meta li {
  margin-top: 8px;
  font-size: 0.82rem;
  text-transform: uppercase;
}

.bf-program-row__work strong {
  display: block;
  margin-bottom: 12px;
  color: #fff;
  overflow-wrap: anywhere;
}

.bf-program-row__work li {
  margin: 4px 0;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}

.bf-program-row__action {
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 16px;
  text-align: center;
}

.bf-program-row__symbol {
  display: grid;
  place-items: center;
  width: 76px;
  height: 76px;
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 999px;
  color: var(--bf-program-lime);
  font-weight: 900;
}

.bf-program-button,
.bf-program-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 24px;
  border-radius: 5px;
  font-weight: 900;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
  transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.bf-program-button {
  color: #111;
  background: var(--bf-program-lime);
}

.bf-program-outline {
  width: 100%;
  color: var(--bf-program-lime);
  border: 1px solid var(--bf-program-lime);
}

.bf-program-button:hover,
.bf-program-outline:hover {
  transform: translateY(-1px);
}

.bf-program-row__status {
  color: var(--bf-program-lime);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.bf-program-card,
.bf-program-bottom-cta {
  background: var(--bf-program-panel);
  border: 1px solid var(--bf-program-line);
  border-radius: 8px;
  padding: 24px;
}

.bf-program-card__head {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 18px;
}

.bf-program-card__icon {
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  border-radius: 8px;
  color: #070808;
  background: var(--bf-program-lime);
  font-weight: 900;
}

.bf-program-card__head p,
.bf-program-progress p {
  margin: 0;
  color: #fff;
  font-weight: 900;
  text-transform: uppercase;
}

.bf-program-card__head strong {
  color: var(--bf-program-lime);
  font-size: 0.82rem;
  text-transform: uppercase;
}

.bf-program-leaderboard__list {
  display: grid;
  gap: 12px;
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
}

.bf-program-leaderboard__list li {
  display: grid;
  grid-template-columns: 28px 1fr auto;
  gap: 12px;
  align-items: center;
  color: var(--bf-program-text);
  min-width: 0;
}

.bf-program-leaderboard__list strong {
  min-width: 0;
  overflow-wrap: anywhere;
}

.bf-program-leaderboard__list span,
.bf-program-leaderboard__list em {
  color: var(--bf-program-lime);
  font-style: normal;
  font-weight: 900;
}

.bf-program-login-card h3,
.bf-program-profile-card h3,
.bf-program-brand-card strong {
  margin: 0 0 10px;
  color: #fff;
  text-transform: uppercase;
}

.bf-program-login-card p,
.bf-program-profile-card p,
.bf-program-brand-card p,
.bf-program-bottom-cta p {
  color: var(--bf-program-muted);
}

.bf-program-profile-card__avatar {
  display: grid;
  place-items: center;
  width: 76px;
  height: 76px;
  margin-bottom: 16px;
  border-radius: 999px;
  color: #070808;
  background: var(--bf-program-lime);
  font-size: 2rem;
  font-weight: 900;
}

.bf-program-progress {
  display: grid;
  justify-items: center;
  gap: 14px;
  text-align: center;
}

.bf-program-progress__ring {
  display: grid;
  place-items: center;
  width: 132px;
  height: 132px;
  border-radius: 50%;
  background: conic-gradient(var(--bf-program-lime) var(--bf-progress, 0%), rgba(255, 255, 255, 0.15) 0);
}

.bf-program-progress__ring strong {
  display: grid;
  place-items: center;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  color: #fff;
  background: #0b0c0c;
  font-size: 2rem;
}

.bf-program-bottom-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: linear-gradient(135deg, rgba(243, 112, 33, 0.16), rgba(255, 255, 255, 0.04));
}

.bf-program-bottom-cta strong {
  color: var(--bf-program-lime);
  font-size: 2rem;
  text-transform: uppercase;
}

.bf-share-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding: 18px;
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid var(--bf-program-line);
  border-radius: 8px;
}

.bf-share-actions > span {
  color: var(--bf-program-muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.bf-share-button {
  appearance: none;
  border: 1px solid rgba(255, 255, 255, 0.18);
  cursor: pointer;
  font: inherit;
}

.bf-share-button--facebook {
  background: #1877f2;
  color: #fff;
}

.bf-share-button--messenger {
  background: linear-gradient(135deg, #00b2ff, #006aff, #a033ff);
  color: #fff;
}

.bf-share-actions__status {
  flex-basis: 100%;
  color: var(--bf-program-muted);
}

.bf-leaderboard-reset {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.bf-leaderboard-reset summary {
  cursor: pointer;
  color: var(--bf-orange);
  font-weight: 900;
}

.bf-leaderboard-reset__form {
  margin-top: 12px;
}

.bf-leaderboard-reset__form p {
  margin: 8px 0 0;
  color: inherit;
  font-size: 0.92rem;
  opacity: 0.78;
}

.bf-profile-dashboard {
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 28px 0;
  overflow-x: clip;
  background: #070808;
}

.bf-profile-dashboard > .bf-leaderboard__head,
.bf-profile-dashboard .bf-client-dashboard__hero,
.bf-profile-dashboard .bf-client-dashboard__actions,
.bf-profile-dashboard .bf-client-dashboard__layout,
.bf-profile-dashboard .bf-client-dashboard__account-grid {
  box-sizing: border-box;
  width: min(1680px, 100%);
  padding-left: clamp(16px, 2vw, 32px);
  padding-right: clamp(16px, 2vw, 32px);
  margin-left: auto;
  margin-right: auto;
}

.bf-profile-dashboard__nav {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  box-sizing: border-box;
  width: min(1680px, calc(100% - 32px));
  margin: 0 auto 20px;
  padding: 12px;
  background: rgba(7, 8, 8, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  backdrop-filter: blur(14px);
}

.bf-profile-dashboard__nav strong,
.bf-profile-dashboard__nav a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 6px;
  color: #fff;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 0.78rem;
  font-weight: 900;
}

.bf-profile-dashboard__nav strong,
.bf-profile-dashboard__nav a.is-active,
.bf-profile-dashboard__nav a:hover {
  color: #070808;
  background: var(--bf-program-lime, #b8ff18);
}

.bf-profile-dashboard .bf-client-dashboard__training {
  padding: 0;
  overflow: hidden;
  background: transparent;
  border: 0;
}

.bf-profile-dashboard .bf-client-dashboard__training > .bf-client-dashboard__card-head {
  display: none;
}

.bf-profile-dashboard .bf-program-app {
  width: 100%;
  margin-top: 0;
}

.bf-admin-program-engine .bf-leaderboard-table td {
  vertical-align: middle;
}

.bf-leaderboard-card,
.bf-client-dashboard__card,
.bf-client-dashboard__metric,
.bf-client-dashboard__tool,
.bf-program-card,
.bf-program-row,
.bf-program-bottom-cta,
.bf-leaderboard-workout-list a,
.bf-leaderboard-table th,
.bf-leaderboard-table td {
  min-width: 0;
  overflow-wrap: anywhere;
  hyphens: auto;
}

.bf-leaderboard-card .bf-button,
.bf-client-dashboard .bf-button,
.bf-profile-dashboard__nav a,
.bf-profile-dashboard__nav strong {
  white-space: normal;
  text-align: center;
}

.bf-gym-other-field.is-hidden {
  display: none !important;
}

.bf-program-auth-panel,
.bf-program-submit-panel,
.bf-program-full-leaderboard {
  width: min(1180px, calc(100% - 32px));
  margin: 28px auto 0;
}

.bf-program-auth-panel .bf-client-access {
  margin-top: 0;
}

.bf-admin-gym-source-panel {
  margin-top: 18px;
}

.bf-admin-gym-source-form {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.bf-program-button,
.bf-program-outline,
.bf-leaderboard .bf-button,
.bf-client-dashboard .bf-button {
  max-width: 100%;
  overflow-wrap: anywhere;
  white-space: normal;
}

.bf-client-dashboard__source {
  color: rgba(255, 255, 255, 0.78);
  font-weight: 800;
}

@media (max-width: 680px) {
  .site-header__inner {
    width: min(calc(100% - 20px), var(--bf-header-max));
    gap: 8px;
    flex-wrap: nowrap;
  }

  .site-branding {
    flex: 1 1 auto;
    min-width: 0;
  }

  .main-navigation {
    flex: 0 0 auto;
    min-width: 44px;
  }

  .menu-toggle {
    flex: 0 0 44px;
  }

  .header-client-menu,
  .header-client-login {
    flex: 0 1 auto;
    max-width: min(38vw, 138px);
    min-width: 0;
  }

  .header-client-menu__mobile-link {
    max-width: 100%;
    min-width: 0;
    padding: 8px 10px;
    gap: 6px;
    overflow: hidden;
  }

  .header-client-menu__mobile-link span:not(.header-client-menu__avatar) {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .header-client-menu__avatar {
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
  }

  .bf-hero h1,
  .bf-section h1,
  .entry-content h1 {
    font-size: 3.15rem;
  }

  .bf-section,
  .bf-cta-band {
    padding: 44px 0;
  }

  .bf-workout-block {
    padding: 18px;
  }

  .bf-workout-block--wodrox .bf-workout-block__exercise-list {
    grid-template-columns: 1fr;
  }

  .sticky-cta {
    left: 18px;
    right: 18px;
  }

  .sticky-cta .btn {
    width: 100%;
  }

  .site-footer {
    padding-bottom: calc(96px + env(safe-area-inset-bottom));
  }

  .bf-client-dashboard {
    padding: 14px;
    border-radius: 0;
  }

  .bf-client-dashboard__hero {
    padding: 20px;
  }

  .bf-client-dashboard__actions,
  .bf-client-dashboard__metrics,
  .bf-client-dashboard__tools {
    grid-template-columns: 1fr;
  }

  .bf-client-dashboard__action {
    min-height: 0;
    gap: 10px;
  }

  .header-client-menu,
  .header-client-login {
    order: 5;
  }

  .header-client-menu__button,
  .header-client-menu__dropdown {
    display: none;
  }

  .header-client-menu__mobile-link {
    display: inline-flex;
  }

  .bf-control-overview,
  .bf-control-status-grid,
  .bf-control-filter-card .bf-leaderboard-form-grid {
    grid-template-columns: 1fr;
  }

  .bf-program-app {
    width: 100%;
    margin: 24px 0;
    border-radius: 0;
  }

  .bf-program-hero {
    min-height: 0;
    padding: 22px 18px 30px;
  }

  .bf-program-hero__brand,
  .bf-program-hero__nav,
  .bf-program-bottom-cta {
    align-items: flex-start;
    flex-direction: column;
  }

  .bf-program-hero__copy h2 {
    font-size: 4rem;
  }

  .bf-program-shell {
    grid-template-columns: 1fr;
    padding: 10px;
  }

  .bf-program-row {
    grid-template-columns: 76px 1fr;
  }

  .bf-program-row__work,
  .bf-program-row__action {
    grid-column: 1 / -1;
  }

  .bf-program-row__day,
  .bf-program-row__meta {
    padding: 18px;
  }

  .bf-program-row__work,
  .bf-program-row__action,
  .bf-program-card,
  .bf-program-bottom-cta {
    padding: 20px;
  }

  .bf-program-row__day strong {
    font-size: 3.5rem;
  }

  .bf-program-row__meta h3 {
    font-size: 1.9rem;
  }

  .bf-workout-plan__grid {
    grid-template-columns: 1fr;
  }

  .bf-profile-dashboard > .bf-leaderboard__head,
  .bf-profile-dashboard .bf-client-dashboard__hero,
  .bf-profile-dashboard .bf-client-dashboard__actions,
  .bf-profile-dashboard .bf-client-dashboard__layout,
  .bf-profile-dashboard .bf-client-dashboard__account-grid,
  .bf-profile-dashboard__nav {
    width: calc(100% - 20px);
  }
}

@media (max-width: 380px) {
  .header-client-menu,
  .header-client-login {
    max-width: 48px;
  }

  .header-client-menu__mobile-link {
    justify-content: center;
    padding: 8px;
  }

  .header-client-menu__mobile-link span:not(.header-client-menu__avatar) {
    display: none;
  }
}
/* =====================================================================
   BeastFactory front-page redesign (2026-06-15)
   Homepage-only dark theme + light switcher. Everything is scoped under
   body.bf-front-dark so NOTHING here can affect other pages.
   Dark is the default; body.bf-front-dark[data-bf-theme="light"] resets
   the theme variables back to the site's normal light palette.
   ===================================================================== */
body.bf-front-dark {
  --bf-bg: #141312;
  --bf-panel: #201e1b;
  --bf-ink: #f4efe8;
  --bf-muted: #a6a097;
  --bf-brand: #ff6a00;      /* canonical brand orange */
  --bf-brand-2: #ff8a3d;
  --bf-dark: #0e0d0c;
  --bf-line: #2d2c2a;
  --bf-surface: #201e1b;
  background: var(--bf-bg);
  color: var(--bf-ink);
}
body.bf-front-dark[data-bf-theme="light"] {
  --bf-bg: #f8f6ef;
  --bf-panel: #fffaf0;
  --bf-ink: #151512;
  --bf-muted: #68645a;
  --bf-brand: #ff6a00;
  --bf-brand-2: #ff8a3d;
  --bf-dark: #171713;
  --bf-line: #e7dcc7;
  --bf-surface: #ffffff;
}

/* ---- header on the front page (dark by default, follows the toggle) ---- */
body.bf-front-dark .site-header {
  background: rgba(18, 17, 16, 0.86);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--bf-line);
}
body.bf-front-dark[data-bf-theme="light"] .site-header {
  background: rgba(248, 246, 239, 0.9);
}
body.bf-front-dark .site-branding { display: flex; align-items: center; gap: 11px; }
body.bf-front-dark .site-branding__wolf { width: 38px; height: 38px; object-fit: contain; display: block; }
body.bf-front-dark .site-branding__text { color: var(--bf-ink); font-weight: 900; letter-spacing: .005em; text-transform: uppercase; }
body.bf-front-dark .site-branding__text span { color: var(--bf-brand); } /* "FACTORY" */
@media (max-width: 680px) {
  body.bf-front-dark .site-header__inner { gap: 6px; }
  body.bf-front-dark .site-branding { gap: 7px; flex: 1 1 auto; min-width: 0; }
  body.bf-front-dark .site-branding__wolf { width: 34px; height: 34px; }
  body.bf-front-dark .site-branding__text {
    display: block;
    min-width: 0;
    overflow: visible;
    white-space: nowrap;
    font-size: clamp(1.02rem, 4.35vw, 1.18rem);
    line-height: 1;
  }
}
/* header "Book nu" CTA: force the real brand orange + white text */
body.bf-front-dark .header-cta { background: #ff6a00 !important; color: #fff !important; border-color: #ff6a00 !important; }
body.bf-front-dark .header-cta:hover { background: #c84f0f !important; color: #fff !important; }
/* "Min portal" as a plain link (no gray pill) -> app.beastfactory.dk (all pages) */
.bf-portal-link { color: var(--bf-ink); font-weight: 600; font-size: .96rem; text-decoration: none; padding: 8px 4px; white-space: nowrap; align-self: center; }
.bf-portal-link:hover { color: var(--bf-brand); }
body.bf-front-dark .main-navigation a { color: var(--bf-ink); }
body.bf-front-dark .main-navigation a:hover { color: var(--bf-brand); }

/* theme switcher button */
.bf-theme-toggle {
  background: transparent;
  border: 1px solid var(--bf-line);
  color: var(--bf-ink);
  width: 40px; height: 40px;
  border-radius: 10px;
  cursor: pointer;
  font-size: 1.05rem; line-height: 1;
  display: grid; place-items: center;
  transition: .18s; margin-left: 6px;
}
.bf-theme-toggle:hover { border-color: var(--bf-brand); color: var(--bf-brand); }

/* ---- hero scarcity badge (with pulsing dot) ---- */
body.bf-front-dark .bf-avail {
  position: relative;
  background: rgba(14, 12, 10, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 12px; padding: 14px 18px 14px 40px; margin: 0 0 1.5rem; max-width: 56ch;
  -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);
}
body.bf-front-dark .bf-avail::before {
  content: ""; position: absolute; left: 18px; top: 21px;
  width: 10px; height: 10px; border-radius: 50%; background: var(--bf-brand);
  box-shadow: 0 0 0 0 rgba(243, 112, 33, .6); animation: bf-pulse 2s infinite;
}
@keyframes bf-pulse {
  0% { box-shadow: 0 0 0 0 rgba(243, 112, 33, .55); }
  70% { box-shadow: 0 0 0 12px rgba(243, 112, 33, 0); }
  100% { box-shadow: 0 0 0 0 rgba(243, 112, 33, 0); }
}
@media (prefers-reduced-motion: reduce) { body.bf-front-dark .bf-avail::before { animation: none; } }
body.bf-front-dark .bf-avail__title { margin: 0; }
body.bf-front-dark .bf-avail__title strong { color: #fff; }
body.bf-front-dark .bf-avail__sub { color: #ece6dd; font-size: .93rem; margin: .3rem 0 0; }

/* ---- "Fitness erfaring" hybrid grid (logos + styled text) ---- */
body.bf-front-dark .bf-exp-row {
  display: flex; flex-wrap: wrap; justify-content: center; align-items: stretch;
  gap: 16px; margin-top: 36px;
}
body.bf-front-dark .bf-exp-card {
  width: 172px; min-height: 106px;
  background: #fff; border: 1px solid rgba(0, 0, 0, .06); border-radius: 16px;
  display: grid; place-items: center; padding: 16px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .28);
}
body.bf-front-dark .bf-exp-card img { max-width: 100%; max-height: 60px; object-fit: contain; }
body.bf-front-dark .bf-exp-card .bf-exp-txt {
  font-weight: 800; letter-spacing: .05em; text-transform: uppercase;
  color: #1f1f1f; font-size: 1.02rem; line-height: 1.15; text-align: center;
}
body.bf-front-dark .bf-exp-card .bf-exp-txt small {
  display: block; font-weight: 600; letter-spacing: .03em; text-transform: none;
  color: #7a7a7a; font-size: .72rem; margin-top: 5px;
}

/* ---- service photo cards (robust: Image + text, overlay via CSS) ---- */
body.bf-front-dark .bf-photocard { position: relative; min-height: 380px; border-radius: var(--bf-radius-lg); overflow: hidden; display: flex; align-items: flex-end; box-shadow: var(--bf-shadow); }
body.bf-front-dark .bf-photocard .bf-photocard__media { position: absolute; inset: 0; margin: 0; }
body.bf-front-dark .bf-photocard .bf-photocard__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.bf-front-dark .bf-photocard::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(to top, rgba(8,7,5,0.96) 20%, rgba(8,7,5,0.55) 52%, rgba(8,7,5,0.08) 100%); }
body.bf-front-dark .bf-photocard .bf-photocard__body { position: relative; z-index: 2; padding: 24px 26px; width: 100%; }
body.bf-front-dark .bf-photocard .bf-photocard__body h3 { color: #fff; margin: 0 0 .4rem; }
body.bf-front-dark .bf-photocard .bf-photocard__body p { color: #e9e3dd; font-size: .95rem; }

/* ---- location cards (photo + label overlay, then text below) ---- */
body.bf-front-dark .bf-loccard { background: var(--bf-surface); border: 1px solid var(--bf-line); border-radius: var(--bf-radius-lg); overflow: hidden; }
body.bf-front-dark .bf-loccard__photo { position: relative; min-height: 200px; display: flex; align-items: flex-end; overflow: hidden; }
body.bf-front-dark .bf-loccard__photo .bf-loccard__media { position: absolute; inset: 0; margin: 0; }
body.bf-front-dark .bf-loccard__photo .bf-loccard__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.bf-front-dark .bf-loccard__photo::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(to top, rgba(0,0,0,0.72), transparent 55%); }
body.bf-front-dark .bf-loccard__label { position: relative; z-index: 2; width: 100%; margin: 0; padding: 12px 18px; color: #fff; font-size: 1.15rem; }
body.bf-front-dark .bf-loccard > p { padding: 0 20px; color: var(--bf-muted); font-size: .92rem; }
body.bf-front-dark .bf-loccard > p:first-of-type { padding-top: 16px; }
body.bf-front-dark .bf-loccard > .bf-card-more { padding: 4px 20px 18px; }

body.bf-front-dark .bf-card-more a { color: var(--bf-brand); font-weight: 700; }
body.bf-front-dark .bf-card-more a:hover { text-decoration: underline; }

/* ---- hero layout (text inset to the site container) ---- */
body.bf-front-dark .bf-home-hero .wp-block-cover__inner-container {
  max-width: var(--bf-max);
  margin-inline: auto;
  padding-inline: clamp(20px, 5vw, 48px);
  width: 100%;
}
body.bf-front-dark .bf-home-hero .bf-hero-copy { max-width: 600px; }
/* stronger left-to-right overlay so all the hero text is readable (overrides the baked gradient) */
/* hero overlay + image are native Cover controls now (editable: opacity slider + focal point).
   Just keep the text above the overlay. */
body.bf-front-dark .bf-home-hero .wp-block-cover__inner-container { position: relative; z-index: 2; }
/* keep Gergø visible on the right, face high in frame */
body.bf-front-dark .bf-home-hero img.wp-block-cover__image-background {
  object-position: 58% 16% !important;
}
body.bf-front-dark .bf-home-hero .bf-hero-title { color: #fff; }
body.bf-front-dark .bf-home-hero .bf-lead { color: #e9e3dd; }
body.bf-front-dark .bf-home-hero .bf-hero-points { list-style: none; display: flex; flex-wrap: wrap; gap: 10px 22px; padding: 0; margin: 1.2rem 0 0; color: #d8d0c8; font-size: .93rem; }
body.bf-front-dark .bf-home-hero .bf-hero-points li { position: relative; padding-left: 22px; margin: 0; }
body.bf-front-dark .bf-home-hero .bf-hero-points li::marker { content: ""; }
body.bf-front-dark .bf-home-hero .bf-hero-points li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--bf-brand); font-weight: 900; }

/* ---- section heads ---- */
body.bf-front-dark .bf-section__head { max-width: 70ch; margin-left: auto; margin-right: auto; margin-bottom: 8px; }

/* ---- steps: 3-up, each step center-aligned with the number circle centered
   above its title (theme's .bf-grid-3 only sets a gap, so force the grid). ---- */
body.bf-front-dark .bf-steps.wp-block-columns {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 30px !important;
  max-width: var(--bf-max);
  margin-inline: auto;
  align-items: start;
}
body.bf-front-dark .bf-steps.wp-block-columns > .wp-block-column {
  width: 100% !important; max-width: none !important; flex: initial !important;
  margin: 0 !important; text-align: center;
  display: flex; flex-direction: column; align-items: center;
}
body.bf-front-dark .bf-steps > .wp-block-column > * { max-width: 32ch; }
body.bf-front-dark .bf-steps .bf-step-num {
  width: 48px; height: 48px; min-width: 48px; border-radius: 50%;
  background: var(--bf-brand); color: #fff; font-weight: 800; font-size: 1.1rem;
  display: flex; align-items: center; justify-content: center;
  margin: 0 0 16px;
}
body.bf-front-dark .bf-steps h3 { color: var(--bf-ink); margin: 0 0 .5rem; }
body.bf-front-dark .bf-steps p { color: var(--bf-muted); margin: 0; }
@media (max-width: 860px) {
  body.bf-front-dark .bf-steps.wp-block-columns { grid-template-columns: 1fr !important; }
}

/* ---- pricing teaser ---- */
body.bf-front-dark .bf-info-card--feat { border: 1px solid var(--bf-brand); box-shadow: 0 12px 34px rgba(243,112,33,.16); }
body.bf-front-dark .bf-tag { display: inline-block; background: var(--bf-brand); color: #fff; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; padding: 5px 12px; border-radius: 999px; margin: 0 0 8px; }
body.bf-front-dark .bf-amt { font-size: 1.6rem; font-weight: 800; margin: .2rem 0 .4rem; }
body.bf-front-dark .bf-amt strong { color: var(--bf-ink); }
body.bf-front-dark .bf-price-note { color: var(--bf-muted); }
body.bf-front-dark .bf-price-note a { color: var(--bf-brand); font-weight: 700; }

/* ---- reviews ---- */
body.bf-front-dark .bf-gbadge {
  display: flex; align-items: center; gap: 9px; width: fit-content;
  margin: 14px auto 0; padding: 10px 16px;
  background: var(--bf-surface); border: 1px solid var(--bf-line);
  border-radius: 12px; box-shadow: var(--bf-shadow);
  color: var(--bf-muted); font-size: .9rem;
}
body.bf-front-dark .bf-gbadge .bf-gbadge__g { color: #4285F4; font-weight: 900; font-size: 1.35rem; line-height: 1; }
body.bf-front-dark .bf-gbadge strong { color: var(--bf-ink); font-size: 1.05rem; }
body.bf-front-dark .bf-gbadge .bf-stars { margin: 0; letter-spacing: 1px; font-size: .95rem; }
body.bf-front-dark .bf-stars,
body.bf-front-dark .bf-info-card .bf-stars,
body.bf-front-dark .bf-review .bf-stars { color: var(--bf-brand) !important; letter-spacing: 2px; margin: 0 0 8px; }
body.bf-front-dark .bf-review p em { font-style: italic; color: var(--bf-ink); }
body.bf-front-dark .bf-review__who { margin-top: 12px; font-size: .9rem; color: var(--bf-muted); }
body.bf-front-dark .bf-review__who strong { color: var(--bf-ink); }

/* ---- faq (core Details) ---- */
body.bf-front-dark .bf-qa { border-bottom: 1px solid var(--bf-line); padding: 6px 0; }
body.bf-front-dark .bf-qa summary { cursor: pointer; font-weight: 700; font-size: 1.05rem; padding: 14px 0; list-style: none; color: var(--bf-ink); }
body.bf-front-dark .bf-qa summary::-webkit-details-marker { display: none; }
body.bf-front-dark .bf-qa summary::after { content: "+"; float: right; color: var(--bf-brand); font-size: 1.4rem; line-height: 1; }
body.bf-front-dark .bf-qa[open] summary::after { content: "−"; }
body.bf-front-dark .bf-qa p { color: var(--bf-muted); padding-bottom: 14px; }

/* ---- erfaring text sublines ---- */
body.bf-front-dark .bf-exp-card .bf-exp-sub { font-weight: 600; letter-spacing: .03em; color: #7a7a7a; font-size: .72rem; margin: 4px 0 0; }
body.bf-front-dark .bf-exp-card .wp-block-image { margin: 0; }

/* ---- info cards (pricing teaser + reviews) need a dark surface on dark theme;
   the theme hardcodes .bf-info-card background:#fff, so text was unreadable ---- */
body.bf-front-dark .bf-info-card {
  background: var(--bf-panel) !important;
  border: 1px solid var(--bf-line) !important;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.35) !important;
}
body.bf-front-dark .bf-info-card h3 { color: var(--bf-ink) !important; }
body.bf-front-dark .bf-info-card p,
body.bf-front-dark .bf-info-card li { color: var(--bf-ink); }
body.bf-front-dark .bf-info-card--feat { border-color: var(--bf-brand) !important; box-shadow: 0 12px 40px rgba(243, 112, 33, 0.22) !important; }
/* pricing list with orange ticks */
body.bf-front-dark .bf-info-card ul.wp-block-list { list-style: none; margin: 14px 0 18px; padding: 0; }
body.bf-front-dark .bf-info-card ul.wp-block-list li { position: relative; padding-left: 26px; margin: 0 0 9px; color: var(--bf-ink); }
body.bf-front-dark .bf-info-card ul.wp-block-list li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--bf-brand); font-weight: 900; }
body.bf-front-dark .bf-amt { color: var(--bf-ink); }
body.bf-front-dark .bf-amt strong { color: var(--bf-ink); font-size: 1.9rem; }
body.bf-front-dark .bf-amt { font-size: .95rem; color: var(--bf-muted); }

/* ---- force ALL 3-up grids to real equal columns (theme .bf-grid-3 only sets gap,
   so some collapsed to narrow content-width, e.g. Lokationer) ---- */
body.bf-front-dark .wp-block-columns.bf-grid-3 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch;
}
body.bf-front-dark .wp-block-columns.bf-grid-3 > .wp-block-column {
  width: 100% !important; max-width: none !important; flex: initial !important; margin: 0 !important;
}
@media (max-width: 860px) {
  body.bf-front-dark .wp-block-columns.bf-grid-3 { grid-template-columns: 1fr !important; }
}

/* ---- "Min tilgang" credo list ---- */
body.bf-front-dark .bf-credo { list-style: none; margin: 18px 0 0; padding: 0; max-width: 62ch; }
body.bf-front-dark .bf-credo li { position: relative; padding-left: 30px; margin: 0 0 16px; color: var(--bf-muted); }
body.bf-front-dark .bf-credo li::before { content: "✓"; position: absolute; left: 0; top: 1px; color: var(--bf-brand); font-weight: 900; font-size: 1.1rem; }
body.bf-front-dark .bf-credo li strong { display: block; color: var(--bf-ink); margin-bottom: 2px; }

/* ---- services photo cards: overlay is the native Cover overlay now (set the
   opacity/colour yourself in the editor). No forced CSS gradient. ---- */

/* ---- buttons: filled = orange + white text; outline = readable on dark ---- */
body.bf-front-dark .wp-block-button:not(.is-style-outline) > .wp-block-button__link {
  background-color: var(--bf-brand) !important; color: #fff !important; border-color: var(--bf-brand) !important;
}
body.bf-front-dark .wp-block-button.is-style-outline > .wp-block-button__link {
  background-color: transparent !important; color: var(--bf-ink) !important; border: 2px solid var(--bf-ink) !important;
}

/* ---- FAQ: theme renders <details> as white cards; force them dark/transparent so text shows ---- */
body.bf-front-dark .bf-faq .wp-block-details,
body.bf-front-dark .bf-qa {
  background: transparent !important;
  border: 0 !important; border-bottom: 1px solid var(--bf-line) !important;
  border-radius: 0 !important; box-shadow: none !important; padding: 4px 0 !important;
}
body.bf-front-dark .bf-qa summary { color: var(--bf-ink) !important; }
body.bf-front-dark .bf-qa p { color: var(--bf-muted) !important; }

/* ---- final CTA: ALWAYS orange band (both themes), white text, white button ---- */
body.bf-front-dark .bf-cta-band {
  background: linear-gradient(115deg, #ff6a00, #c84f0f) !important;
}
body.bf-front-dark .bf-cta-band.alignfull > * { max-width: var(--bf-max); margin-left: auto; margin-right: auto; padding-left: 22px; padding-right: 22px; }
body.bf-front-dark .bf-cta-band h2,
body.bf-front-dark .bf-cta-band p { color: #fff !important; }
body.bf-front-dark .bf-cta-band .wp-block-button__link {
  background-color: #fff !important; color: #161412 !important; border-color: #fff !important;
}
/* ---- homepage footer (mockup style, front page only) ---- */
.bf-home-footer { background: var(--bf-dark); color: #cfccc7; padding: 64px 0 28px; margin-top: 0; }
.bf-home-footer__inner { max-width: var(--bf-max); margin: 0 auto; padding: 0 22px; display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.2fr; gap: 34px; }
.bf-home-footer__logo { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 12px; text-decoration: none; }
.bf-home-footer__logo img { width: 38px; height: 38px; object-fit: contain; }
.bf-home-footer__wm { font-weight: 900; font-size: 1.25rem; color: #fff; letter-spacing: .005em; text-transform: uppercase; }
.bf-home-footer__wm span { color: var(--bf-brand); }
.bf-home-footer__brand p { color: #9a968f; font-size: .93rem; max-width: 34ch; margin: 0 0 14px; }
.bf-home-footer__social { display: flex; gap: 10px; }
.bf-home-footer__social a { width: 38px; height: 38px; border-radius: 9px; background: #262421; display: grid; place-items: center; color: #cfccc7; }
.bf-home-footer__social a:hover { background: var(--bf-brand); color: #fff; }
.bf-home-footer__social svg { width: 18px; height: 18px; fill: currentColor; }
.bf-home-footer__col h4 { color: #fff; font-size: .9rem; letter-spacing: .05em; text-transform: uppercase; margin: 0 0 14px; }
.bf-home-footer__col a,
.bf-home-footer__col span { display: block; color: #b6b2ab; font-size: .94rem; padding: 4px 0; text-decoration: none; }
.bf-home-footer__col a:hover { color: var(--bf-brand); }
.bf-home-footer__bottom { max-width: var(--bf-max); margin: 36px auto 0; padding: 22px 22px 0; border-top: 1px solid #2a2724; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; font-size: .85rem; color: #7f7b75; }
.bf-home-footer__bottom a { color: #7f7b75; }
.bf-home-footer__bottom a:hover { color: var(--bf-brand); }
@media (max-width: 860px) { .bf-home-footer__inner { grid-template-columns: 1fr 1fr; } }
/* ---- mobile menu: theme dropdown panel is white; make it dark so links show ---- */
@media (max-width: 1180px) {
  body.bf-front-dark .bf-portal-link {
    display: none;
  }

  body.bf-front-dark .primary-menu {
    background: var(--bf-panel) !important;
    border: 1px solid var(--bf-line) !important;
  }
}
body.bf-front-dark .primary-menu a { color: var(--bf-ink) !important; }
body.bf-front-dark .primary-menu a:hover,
body.bf-front-dark .primary-menu .current-menu-item > a,
body.bf-front-dark .primary-menu .current-menu-ancestor > a {
  background: rgba(243, 112, 33, 0.16) !important; color: var(--bf-brand) !important;
}
body.bf-front-dark .primary-menu .sub-menu { background: var(--bf-panel) !important; }
/* submenu expand/collapse toggles: cream circle + light arrow was invisible */
body.bf-front-dark .primary-menu .submenu-toggle {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid var(--bf-line) !important;
  color: var(--bf-brand) !important;
}
body.bf-front-dark .primary-menu .submenu-toggle::after { border-color: var(--bf-brand) !important; }

/* ---- sticky "Kom i gang nu" CTA: force the real brand orange + white text ---- */
body.bf-front-dark .sticky-cta .btn { background: #ff6a00 !important; color: #fff !important; }
body.bf-front-dark .sticky-cta .btn:hover { background: #c84f0f !important; color: #fff !important; }
/* ---- manifesto: full-width band that adapts to the theme; "Factory" in orange ---- */
body.bf-front-dark .bf-manifest { background: var(--bf-panel); color: var(--bf-ink); }
body.bf-front-dark .bf-manifest h2,
body.bf-front-dark .bf-manifest h3,
body.bf-front-dark .bf-manifest p,
body.bf-front-dark .bf-manifest .bf-lead { color: var(--bf-ink); }
body.bf-front-dark .bf-manifest > * { max-width: var(--bf-max); margin-left: auto; margin-right: auto; padding-left: 22px; padding-right: 22px; }
body.bf-front-dark .bf-orange { color: var(--bf-brand); }
/* native inline text-colour uses <mark>, which has a default yellow highlight; remove it */
body.bf-front-dark mark.has-inline-color,
body.bf-front-dark .bf-manifest mark { background-color: transparent !important; color: var(--bf-brand) !important; }
/* ---- mobile: prevent any horizontal overflow / sideways swipe ---- */
body.bf-front-dark { overflow-x: clip; }
body.bf-front-dark .bf-gbadge { flex-wrap: wrap; max-width: 100%; }
.bf-home-footer__col a,
.bf-home-footer__col span,
.bf-home-footer__brand p { overflow-wrap: anywhere; }
body.bf-front-dark .bf-exp-card { max-width: 100%; }
@media (max-width: 600px) {
  .bf-home-footer__inner { grid-template-columns: 1fr; }
}
/* ===== site-wide header branding (all pages, both themes) ===== */
.site-branding { display: flex; align-items: center; gap: 11px; }
.site-branding__wolf { width: 38px; height: 38px; object-fit: contain; display: block; }
.site-branding__text { font-weight: 900; letter-spacing: .005em; text-transform: uppercase; }
.site-branding__text span { color: var(--bf-brand); } /* FACTORY */
.header-cta { background: #ff6a00 !important; color: #fff !important; border-color: #ff6a00 !important; }
.header-cta:hover { background: #c84f0f !important; color: #fff !important; }
@media (max-width: 680px) {
  .site-header__inner { gap: 6px; }
  .site-branding { gap: 7px; flex: 1 1 auto; min-width: 0; }
  .site-branding__wolf { width: 34px; height: 34px; }
  .site-branding__text { display: block; min-width: 0; white-space: nowrap; font-size: clamp(1.02rem, 4.35vw, 1.18rem); line-height: 1; }
}

/* ===== STANDARD DARK THEME for /personlig-traening/ pages ===== */
body.bf-dark-theme {
  --bf-bg: #141312; --bf-panel: #201e1b; --bf-ink: #f4efe8; --bf-muted: #a6a097;
  --bf-brand: #ff6a00; --bf-brand-2: #ff8a3d; --bf-dark: #0e0d0c; --bf-line: #2d2c2a; --bf-surface: #201e1b;
  background: var(--bf-bg); color: var(--bf-ink);
}
/* dark header on træning pages */
body.bf-dark-theme .site-header { background: rgba(18,17,16,0.92); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid var(--bf-line); }
body.bf-dark-theme .site-branding__text { color: var(--bf-ink); }
body.bf-dark-theme .main-navigation a { color: var(--bf-ink); }
body.bf-dark-theme .main-navigation a:hover { color: var(--bf-brand); }
body.bf-dark-theme .bf-portal-link { color: var(--bf-ink); }
/* theme hardcodes light surfaces; darken the ones that appear on content pages */
body.bf-dark-theme .bf-info-card,
body.bf-dark-theme .bf-tool-card,
body.bf-dark-theme .contactbox { background: var(--bf-panel) !important; border-color: var(--bf-line) !important; color: var(--bf-ink); }
body.bf-dark-theme .bf-info-card h3,
body.bf-dark-theme .bf-info-card h2,
body.bf-dark-theme .bf-info-card strong { color: var(--bf-ink) !important; }
body.bf-dark-theme .bf-info-card p,
body.bf-dark-theme .bf-info-card li { color: var(--bf-ink); }
body.bf-dark-theme .wp-block-details { background: var(--bf-panel) !important; border: 1px solid var(--bf-line) !important; border-radius: 14px; color: var(--bf-ink); }
body.bf-dark-theme .wp-block-details summary { color: var(--bf-ink); }
body.bf-dark-theme .bf-price-board,
body.bf-dark-theme .bf-price-list { background: var(--bf-panel) !important; border-color: var(--bf-line) !important; color: var(--bf-ink); }
/* buttons on træning pages: filled = orange + white text, outline = readable */
body.bf-dark-theme .wp-block-button:not(.is-style-outline) > .wp-block-button__link,
body.bf-dark-theme .bf-btn:not(.is-style-outline):not(.alt) { background-color: var(--bf-brand) !important; color: #fff !important; border-color: var(--bf-brand) !important; }
body.bf-dark-theme .wp-block-button.is-style-outline > .wp-block-button__link { background-color: transparent !important; color: var(--bf-ink) !important; border: 2px solid var(--bf-ink) !important; }
body.bf-dark-theme .sticky-cta .btn { background: #ff6a00 !important; color: #fff !important; }
body.bf-dark-theme .sticky-cta .btn:hover { background: #c84f0f !important; color: #fff !important; }
/* nav dropdown + active/hover states on dark træning pages (theme defaults are white/cream) */
body.bf-dark-theme .primary-menu .sub-menu { background: var(--bf-panel) !important; border: 1px solid var(--bf-line) !important; box-shadow: 0 16px 40px rgba(0,0,0,.5) !important; }
body.bf-dark-theme .primary-menu a,
body.bf-dark-theme .primary-menu .sub-menu a { color: var(--bf-ink) !important; }
body.bf-dark-theme .primary-menu a:hover,
body.bf-dark-theme .primary-menu .current-menu-item > a,
body.bf-dark-theme .primary-menu .current-menu-ancestor > a,
body.bf-dark-theme .primary-menu .sub-menu .current-menu-item > a { background: rgba(243, 112, 33, 0.16) !important; color: var(--bf-brand) !important; }
@media (max-width: 1180px) {
  body.bf-dark-theme .primary-menu { background: var(--bf-panel) !important; border: 1px solid var(--bf-line) !important; }
}
body.bf-dark-theme .primary-menu .submenu-toggle { background: rgba(255,255,255,0.08) !important; border: 1px solid var(--bf-line) !important; color: var(--bf-brand) !important; }
body.bf-dark-theme .primary-menu .submenu-toggle::after { border-color: var(--bf-brand) !important; }
/* ===== per-service price blocks — styling works on light AND dark pages ===== */
.bf-info-card--feat { border: 1px solid var(--bf-brand) !important; box-shadow: 0 12px 34px rgba(243,112,33,.18) !important; }
.bf-tag { display: inline-block; background: var(--bf-brand); color: #fff; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; padding: 5px 12px; border-radius: 999px; margin: 0 0 8px; }
.bf-amt { font-size: .95rem; color: var(--bf-muted); margin: .2rem 0 .6rem; }
.bf-amt strong { color: var(--bf-ink); font-size: 1.9rem; }
.bf-price-note { color: var(--bf-muted); }
.bf-price-note a { color: var(--bf-brand); font-weight: 700; }
.bf-info-card ul.wp-block-list { list-style: none; margin: 14px 0 18px; padding: 0; }
.bf-info-card ul.wp-block-list li { position: relative; padding-left: 26px; margin: 0 0 9px; }
.bf-info-card ul.wp-block-list li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--bf-brand); font-weight: 900; }
/* ===== Planway price board: always a dark band (white text reads on light pages too) ===== */
.bf-price-board { background: #1b1a18 !important; color: #ece7df !important; border-radius: 18px; overflow: hidden; }
.bf-price-board__item { color: #ece7df; }
.bf-price-board a { color: #ff6a00; }
/* end BeastFactory front-page redesign */

/* ===================== /priser/ price page (mockup design, live prices) ===================== */
.bf-pl-hero { padding: 60px 22px 24px; background: #ffffff; }
.bf-pl-hero .wp-block-heading { font-size: clamp(2rem,4.4vw,3.1rem); letter-spacing: -.02em; margin: .2rem 0 .6rem; color: #181818; }
.bf-pl-eyebrow { font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #ff6a00; margin: 0 0 .5rem; }
.bf-pl-lead { color: #6b6b6b; font-size: 1.08rem; max-width: 62ch; }
.bf-pl-freenote { display: inline-block; background: #fff; border: 1px solid #e7e7e7; border-left: 4px solid #ff6a00; border-radius: 12px; padding: 12px 18px; margin-top: 18px; font-weight: 600; color: #181818; box-shadow: 0 10px 30px rgba(0,0,0,.06); }

.bf-pl-cat { padding: 52px 22px; }
.bf-pl-cat--soft { background: #faf7f4; }
.bf-pl-cat > .wp-block-heading { font-size: clamp(1.5rem,3vw,2.1rem); letter-spacing: -.02em; margin: 0 0 .3rem; color: #181818; }
.bf-pl-sub { color: #6b6b6b; max-width: 60ch; margin: 0 0 26px; }

.bf-pl-grid { gap: 24px !important; align-items: stretch; }
.bf-pl-grid .wp-block-column { min-width: 0; display: flex; }
.bf-pl-card { width: 100%; border: 1px solid #e7e7e7; border-radius: 16px; padding: 26px; background: #fff; display: flex; flex-direction: column; }
.bf-pl-card--feat { border-color: #ff6a00; box-shadow: 0 12px 34px rgba(243,112,33,.16); position: relative; }
.bf-pl-tag { position: absolute; top: -13px; left: 26px; background: #ff6a00; color: #fff; font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; padding: 5px 12px; border-radius: 999px; margin: 0; }
.bf-pl-card .wp-block-heading { font-size: 1.1rem; margin: 0 0 .3rem; color: #181818; }
.bf-pl-amt { font-size: 1.9rem; font-weight: 800; margin: .3rem 0; line-height: 1.1; color: #181818; }
.bf-pl-amt .bf-planway-price { font-size: inherit; font-weight: inherit; color: inherit; }
.bf-pl-amt span { font-size: .9rem; font-weight: 600; color: #6b6b6b; }
.bf-pl-list { list-style: none !important; margin: 12px 0 18px !important; padding: 0 !important; display: flex; flex-direction: column; gap: 8px; }
.bf-pl-list li { font-size: .93rem; color: #3a3a3a; padding-left: 24px; position: relative; margin: 0; }
.bf-pl-list li::before { content: "✓"; position: absolute; left: 0; top: 0; color: #ff6a00; font-weight: 900; }
.bf-pl-card .wp-block-buttons { margin-top: auto; }
.bf-pl-card .wp-block-button, .bf-pl-card .wp-block-button__link { width: 100%; }
.bf-pl-card .wp-block-button__link { display: block; text-align: center; border-radius: 999px; font-weight: 700; }
.bf-pl-card .is-style-outline .wp-block-button__link { background: #181818 !important; color: #fff !important; border-color: #181818 !important; }

.bf-pl-rest { margin-top: 26px; background: #fff; border: 1px solid #e7e7e7; border-radius: 16px; overflow: hidden; padding: 0 !important; }
.bf-pl-rest-head { padding: 14px 22px; font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #6b6b6b; border-bottom: 1px solid #e7e7e7; background: #faf7f4; margin: 0; }
.bf-pl-row { display: flex; justify-content: space-between; gap: 18px; padding: 13px 22px; border-bottom: 1px solid #e7e7e7; font-size: .97rem; margin: 0; }
.bf-pl-row:last-child { border-bottom: 0; }
.bf-pl-row strong, .bf-pl-row .bf-planway-price { font-weight: 800; white-space: nowrap; color: #181818; }
.bf-pl-note { margin-top: 14px; font-size: .92rem; color: #6b6b6b; }

.bf-pl-teaser { background: #fff; border: 1px solid #e7e7e7; border-left: 4px solid #ff6a00; border-radius: 16px; padding: 26px 30px; box-shadow: 0 10px 30px rgba(0,0,0,.06); }
.bf-pl-teaser .wp-block-heading { font-size: 1.3rem; margin: .2rem 0 .3rem; color: #181818; }
.bf-pl-teaser p { color: #6b6b6b; max-width: 56ch; }

.bf-pl-terms { background: #faf7f4; border-radius: 16px; padding: 24px 30px; margin-top: 8px; }
.bf-pl-terms .bf-pl-list li { color: #3a3a3a; padding-left: 20px; }
.bf-pl-terms .bf-pl-list li::before { content: "\2022"; }

.bf-pl-final { padding: 68px 22px; text-align: center; background: linear-gradient(115deg,#ff6a00,#c84f0f); color: #fff; }
.bf-pl-final .wp-block-heading { color: #fff; font-size: clamp(1.7rem,3.4vw,2.4rem); margin: 0 0 .4rem; }
.bf-pl-final p { color: rgba(255,255,255,.92); max-width: 56ch; margin: 0 auto 22px; }
.bf-pl-final .wp-block-buttons { justify-content: center; }
.bf-pl-final-btn .wp-block-button__link { background: #181818 !important; color: #fff !important; border-radius: 999px; font-weight: 700; padding: 14px 28px; }

@media (max-width: 781px) {
  .bf-pl-grid { display: flex; flex-wrap: wrap; }
  .bf-pl-grid .wp-block-column { flex-basis: 100% !important; }
}

/* dark variant (for dedicated price blocks dropped on the dark personlig-traening pages) */
body.bf-dark-theme .bf-pl-card,
body.bf-dark-theme .bf-pl-rest,
body.bf-dark-theme .bf-pl-freenote,
body.bf-dark-theme .bf-pl-teaser { background: #1b1a18; border-color: #34302b; color: #ece7df; }
body.bf-dark-theme .bf-pl-cat { background: #100f0d; }
body.bf-dark-theme .bf-pl-cat--soft { background: #16140f; }
body.bf-dark-theme .bf-pl-hero { background: #100f0d; }
body.bf-dark-theme .bf-pl-card .wp-block-heading,
body.bf-dark-theme .bf-pl-amt,
body.bf-dark-theme .bf-pl-cat > .wp-block-heading,
body.bf-dark-theme .bf-pl-hero .wp-block-heading,
body.bf-dark-theme .bf-pl-row strong,
body.bf-dark-theme .bf-pl-row .bf-planway-price,
body.bf-dark-theme .bf-pl-freenote { color: #ffffff; }
body.bf-dark-theme .bf-pl-sub,
body.bf-dark-theme .bf-pl-lead,
body.bf-dark-theme .bf-pl-note,
body.bf-dark-theme .bf-pl-amt span,
body.bf-dark-theme .bf-pl-rest-head { color: #b6b0a6; }
body.bf-dark-theme .bf-pl-rest-head { background: #16140f; border-color: #34302b; }
body.bf-dark-theme .bf-pl-row { border-color: #34302b; }
body.bf-dark-theme .bf-pl-list li { color: #d6d0c6; }
body.bf-dark-theme .bf-pl-terms { background: #16140f; }
body.bf-dark-theme .bf-pl-card .is-style-outline .wp-block-button__link { background: #ff6a00 !important; color: #fff !important; border-color: #ff6a00 !important; }
/* end /priser/ price page */

/* left-align narrow intro paragraphs inside constrained price sections (override WP constrained auto-centering) */
.bf-pl-hero .bf-pl-lead, .bf-pl-hero .bf-pl-freenote,
.bf-pl-cat .bf-pl-sub, .bf-pl-cat .bf-pl-note { margin-left: 0 !important; margin-right: auto !important; }

/* "see all prices" link on per-service dedicated blocks */
.bf-pl-seeall { margin-top: 20px; font-weight: 600; }
.bf-pl-seeall a { color: #ff6a00; font-weight: 700; }
body.bf-dark-theme .bf-pl-seeall a { color: #ff6a00; }

/* BEAST-portal: keep it visible in the header on mobile too (was hidden on the homepage <=1180px) */
@media (max-width: 1180px) {
  body.bf-front-dark .bf-portal-link { display: inline-block !important; }
  .bf-portal-link { font-size: .9rem; padding: 6px 6px; }
}

/* BEAST-portal placement: top-bar link on desktop, inside hamburger menu on mobile (supersedes earlier mobile-show rule) */
.bf-portal-menu-item { display: none; }                 /* desktop: hidden (top-bar .bf-portal-link is shown) */
.bf-portal-menu-item > a { color: #ff6a00 !important; font-weight: 700; }
@media (max-width: 1180px) {
  .bf-portal-link { display: none !important; }          /* mobile: remove from top header */
  .bf-portal-menu-item { display: block; }               /* mobile: show inside the hamburger menu */
}

/* BEAST-portal brand wordmark: BEAST = orange bold, portal = ink/black bold */
.bf-pp-b { color: #ff6a00 !important; font-weight: 800; }
.bf-portal-link .bf-pp-p { color: var(--bf-ink) !important; font-weight: 800; }   /* top bar: ink adapts (black on light, white on dark headers) */
/* mobile hamburger: render the portal as an OUTLINE pill (orange kontur, no orange fill) so 'BEAST' (orange) reads on the dark drawer.
   Selector is piled with the element's own classes to out-specify body.bf-dark-theme .bf-btn:not(...) (0,4,1). */
.bf-mobile-menu-portal a.bf-mobile-menu-button.bf-btn.bf-cta.bf-cta--portal,
.bf-mobile-menu-portal a.bf-mobile-menu-button.bf-btn.bf-cta {
  background: transparent !important;
  background-color: transparent !important;
  border: 1.5px solid #ff6a00 !important;
  box-shadow: none !important;
}
.bf-mobile-menu-portal .bf-pp-b { color: #ff6a00 !important; font-weight: 800; }   /* BEAST = orange (reads on light + dark) */
.bf-mobile-menu-portal .bf-pp-p { color: #181818 !important; font-weight: 800; }   /* portal: black by default (light drawer on light pages) */
body.bf-dark-theme .bf-mobile-menu-portal .bf-pp-p,
body.bf-front-dark .bf-mobile-menu-portal .bf-pp-p { color: #ffffff !important; }   /* portal: white on the dark drawer (dark/homepage pages) */

/* FIX: hide top-bar BEAST-portal on mobile on the dark homepage/dark pages too (front-dark rule was overriding the generic hide) */
@media (max-width: 1180px) {
  body.bf-front-dark .bf-portal-link,
  body.bf-dark-theme .bf-portal-link,
  .bf-portal-link { display: none !important; }
}

/* ===================== Functional Outdoor Summer Training signup modal ===================== */
.bf-outdoor-modal { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; padding: 20px; }
.bf-outdoor-modal[hidden] { display: none; }
.bf-outdoor-modal__overlay { position: absolute; inset: 0; background: rgba(18,14,10,.74); }
.bf-outdoor-modal__dialog { position: relative; background: #fff; color: #181818; width: 100%; max-width: 520px; max-height: 90vh; overflow-y: auto; border-radius: 18px; box-shadow: 0 30px 80px rgba(0,0,0,.45); padding: 30px; }
.bf-outdoor-modal__close { position: absolute; top: 10px; right: 14px; background: none; border: 0; font-size: 1.9rem; line-height: 1; color: #999; cursor: pointer; padding: 4px 8px; }
.bf-outdoor-modal__close:hover { color: #ff6a00; }
.bf-outdoor-modal .bf-pl-eyebrow { margin: 0 0 .3rem; }
.bf-outdoor-modal h2 { font-size: 1.5rem; margin: 0 0 .5rem; letter-spacing: -.02em; color: #181818; }
.bf-outdoor-modal h3 { font-size: 1.05rem; margin: 18px 0 6px; color: #181818; }
.bf-outdoor-intro { color: #555; margin: 0 0 14px; font-size: .96rem; }
.bf-outdoor-facts { list-style: none; margin: 0 0 16px; padding: 0; display: flex; flex-direction: column; gap: 7px; }
.bf-outdoor-facts li { padding-left: 24px; position: relative; color: #3a3a3a; font-size: .94rem; }
.bf-outdoor-facts li::before { content: "\2713"; position: absolute; left: 0; color: #ff6a00; font-weight: 900; }
.bf-outdoor-spots { background: #faf7f4; border: 1px solid #e7e7e7; border-left: 4px solid #ff6a00; border-radius: 10px; padding: 10px 14px; font-weight: 700; margin: 0 0 16px; color: #181818; }
.bf-outdoor-form { display: flex; flex-direction: column; gap: 12px; }
.bf-outdoor-form label { display: flex; flex-direction: column; gap: 5px; font-weight: 600; font-size: .88rem; color: #333; }
.bf-outdoor-form input { font: inherit; padding: 11px 13px; border: 1px solid #d9d4cd; border-radius: 10px; background: #fff; color: #181818; width: 100%; }
.bf-outdoor-form input:focus { outline: none; border-color: #ff6a00; box-shadow: 0 0 0 3px rgba(243,112,33,.16); }
.bf-outdoor-hp { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }
.bf-outdoor-submit { margin-top: 6px; background: #ff6a00; color: #fff; border: 0; border-radius: 999px; padding: 14px; font-weight: 800; font-size: 1rem; cursor: pointer; transition: background .15s; }
.bf-outdoor-submit:hover { background: #c84f0f; }
.bf-outdoor-submit:disabled { opacity: .6; cursor: default; }
.bf-outdoor-error { color: #c0392b; font-weight: 600; font-size: .9rem; margin: 4px 0 0; }
.bf-outdoor-fineprint { color: #999; font-size: .8rem; margin: 4px 0 0; }
.bf-outdoor-closed { background: #faf7f4; border-radius: 10px; padding: 14px; font-weight: 700; text-align: center; color: #181818; }
.bf-outdoor-modal__step[data-bf-outdoor-step="success"] { text-align: center; }
.bf-outdoor-check { width: 54px; height: 54px; border-radius: 50%; background: #ff6a00; color: #fff; font-size: 1.7rem; display: flex; align-items: center; justify-content: center; margin: 0 auto 10px; font-weight: 900; }
.bf-outdoor-reg { font-size: 1.9rem; font-weight: 900; color: #ff6a00; letter-spacing: .05em; background: #faf7f4; border: 1px dashed #ff6a00; border-radius: 12px; padding: 12px; margin: 8px 0 6px; }
.bf-outdoor-qr img { border: 1px solid #eee; border-radius: 12px; }
.bf-outdoor-emailnote { color: #888; font-size: .85rem; margin-top: 12px; }
@media (max-width: 520px) { .bf-outdoor-modal__dialog { padding: 26px 20px; } }

/* ===================== Sub-page photo hero (cover) + dark-theme section polish ===================== */
.bf-subhero { color: #fff; }
.bf-subhero .wp-block-cover__inner-container { padding-block: 30px; }
.bf-subhero .wp-block-heading, .bf-subhero h1 { color: #fff !important; letter-spacing: -.02em; margin: .15em 0 .35em; }
.bf-subhero .bf-lead { color: rgba(255,255,255,.92) !important; max-width: 60ch; }
.bf-subhero .bf-eyebrow { color: #ff6a00 !important; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 .4rem; }
.bf-subhero .wp-block-buttons { margin-top: 20px; }
.bf-hero-ticks { margin: 18px 0 0 !important; color: #fff !important; font-weight: 600; font-size: .95rem; }

/* center the dark-theme section heads (heading + intro) like the front page — fixes the mismatched left-heading / centered-sub look */
body.bf-dark-theme .bf-section > .wp-block-heading,
body.bf-dark-theme .bf-section > .bf-lead {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
body.bf-dark-theme .bf-section > .bf-lead { max-width: 62ch; }
/* end sub-page hero + polish */

/* force the sub-page cover hero to render fully (image bg + overlay + constrained content), independent of core block CSS */
.bf-subhero.wp-block-cover { position: relative; display: flex; align-items: center; min-height: 70vh; overflow: hidden; padding: 0; }
.bf-subhero .wp-block-cover__image-background { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 58% 38%; z-index: 0; margin: 0; max-width: none; }
.bf-subhero .wp-block-cover__background { position: absolute; inset: 0; z-index: 1; background-color: #14100c; opacity: .58; }
.bf-subhero .wp-block-cover__inner-container { position: relative; z-index: 2; width: 100%; max-width: 1080px; margin-inline: auto; padding: 34px 22px; }
.bf-subhero .wp-block-buttons .wp-block-button__link { border-radius: 999px; font-weight: 700; }
.bf-subhero .is-style-outline .wp-block-button__link { color: #fff; border-color: rgba(255,255,255,.7); }
/* end cover-force */

/* center + align the sub-hero content with the rest of the page content */
.bf-subhero.wp-block-cover { justify-content: center; }
.bf-subhero .wp-block-cover__inner-container { max-width: var(--wp--style--global--content-size, 900px) !important; margin-left: auto !important; margin-right: auto !important; }

/* ===== dark-theme sub-page polish: orange final CTA band + card/FAQ refinement ===== */
.bf-cta-band { background: linear-gradient(115deg,#ff6a00,#c84f0f) !important; text-align: center; }
.bf-cta-band .wp-block-heading, .bf-cta-band h2 { color: #fff !important; }
.bf-cta-band p, .bf-cta-band .bf-lead { color: rgba(255,255,255,.95) !important; }
.bf-cta-band .wp-block-buttons { justify-content: center; }
.bf-cta-band .wp-block-button__link { background: #181818 !important; color: #fff !important; border-radius: 999px; font-weight: 700; padding: 14px 30px; }
.bf-cta-band .wp-block-button__link:hover { background: #000 !important; }
body.bf-dark-theme .bf-info-card { transition: transform .15s ease, border-color .15s ease; }
body.bf-dark-theme .bf-info-card:hover { transform: translateY(-3px); border-color: #ff6a00; }
body.bf-dark-theme .wp-block-details summary { cursor: pointer; font-weight: 700; }
body.bf-dark-theme .wp-block-details[open] > summary { color: #ff6a00; }

/* content CTA links (bf-btn bf-cta) were rendering as flat orange text — restore proper pill buttons */
.entry-content a.bf-btn.bf-cta,
.bf-section a.bf-btn.bf-cta { display: inline-flex !important; align-items: center; gap: 8px; padding: 13px 26px !important; border-radius: 999px !important; font-weight: 700; text-decoration: none !important; line-height: 1.15; }
.entry-content a.bf-btn.bf-cta:hover { filter: brightness(.94); }

/* mobile: stop the floating sticky CTA from covering the footer's bottom links (privatlivspolitik / handelsbetingelser) */
@media (max-width: 782px) {
  .site-footer.bf-home-footer { padding-bottom: 104px; }
}

/* orange CTA band: make the button DARK for contrast (theme .bf-cta forces orange, so beat it on specificity) */
body.bf-dark-theme .bf-cta-band a.bf-btn.bf-cta,
.bf-cta-band .wp-block-button > a.wp-block-button__link { background-color: #181818 !important; background-image: none !important; color: #fff !important; border: 0 !important; }
body.bf-dark-theme .bf-cta-band a.bf-btn.bf-cta:hover,
.bf-cta-band .wp-block-button > a.wp-block-button__link:hover { background-color: #000 !important; }

/* /traening hub: card grid + "Læs mere" links */
.bf-hub-grid { gap: 24px !important; margin-bottom: 24px; align-items: stretch; }
.bf-hub-grid .wp-block-column { display: flex; min-width: 0; }
.bf-hub-card { width: 100%; display: flex; flex-direction: column; }
.bf-hub-card .wp-block-heading { color: #ffffff; }
.bf-card-link { margin-top: auto !important; margin-bottom: 0 !important; }
.bf-card-link a { color: #ff6a00 !important; font-weight: 700; text-decoration: none; }
.bf-card-link a:hover { text-decoration: underline; }
@media (max-width: 781px) { .bf-hub-grid { flex-wrap: wrap; } .bf-hub-grid .wp-block-column { flex-basis: 100% !important; } }

/* outdoor signup modal: pricing block */
.bf-outdoor-prices { background:#faf7f4; border:1px solid #e7e7e7; border-radius:12px; padding:14px 16px; margin:0 0 16px; }
.bf-outdoor-prices__head { font-size:.76rem; text-transform:uppercase; letter-spacing:.1em; color:#888; font-weight:700; margin:0 0 8px; }
.bf-outdoor-prices ul { list-style:none; margin:0; padding:0; }
.bf-outdoor-prices li { display:flex; justify-content:space-between; gap:12px; padding:6px 0; border-bottom:1px solid #ececec; font-size:.95rem; color:#181818; }
.bf-outdoor-prices li:last-child { border-bottom:0; }
.bf-outdoor-prices li strong { white-space:nowrap; }
.bf-outdoor-prices__note { font-size:.84rem; color:#666; margin:8px 0 0; }

/* FIX: force sub-hero overlay opacity reliably (was rendering near-opaque on some pages, hiding the photo) */
.bf-subhero .wp-block-cover__background { opacity: .46 !important; background-color: #14100c !important; }
/* Hero outline button ("Se priser") must read on the dark hero photo on EVERY page (incl. light pages like sportsterapi) */
.bf-subhero .wp-block-button.is-style-outline > .wp-block-button__link,
.bf-subhero .is-style-outline a.wp-block-button__link {
  color: #ffffff !important;
  border-color: rgba(255,255,255,.8) !important;
  background-color: transparent !important;
}
.bf-subhero .is-style-outline a.wp-block-button__link:hover {
  background-color: rgba(255,255,255,.16) !important;
  border-color: #ffffff !important;
  color: #ffffff !important;
}

/* funktionel-fitness (page 2002): the cover overlay span renders opaque here; hide it and use a controlled dim layer */
body.page-id-2002 .bf-subhero .wp-block-cover__background { display: none !important; }
body.page-id-2002 .bf-subhero::after { content: ""; position: absolute; inset: 0; z-index: 1; background-color: rgba(18,14,10,.5); pointer-events: none; }
body.page-id-2002 .bf-subhero .wp-block-cover__inner-container { position: relative; z-index: 2; }
body.page-id-2002 .bf-subhero .wp-block-cover__image-background { z-index: 0; }

/* funktionel-fitness (2002): the <img> never paints (webp paint bug) -> hide it and paint the photo as a CSS background. Photo: media 2425 (deadlift + pull-ups, BEAST FACTORY wall, NO EXCUSES poster) - user-supplied 2026-06-16. */
body.page-id-2002 .bf-subhero .wp-block-cover__image-background { display: none !important; }
body.page-id-2002 .bf-subhero { background-image: url('https://beastfactory.dk/wp-content/uploads/2026/06/funktionel-fitness-deadlift-beastfactory.webp'); background-size: cover; background-position: 50% 34%; background-repeat: no-repeat; }
/* funktionel-fitness: section photo banners (cinematic bands under section heads) */
body.page-id-2002 .bf-sec-photo { margin: 12px auto 26px !important; max-width: var(--wp--style--global--wide-size, 1080px) !important; width: 100%; }
body.page-id-2002 .bf-sec-photo img { width: 100%; height: 360px; object-fit: cover; border-radius: 18px; display: block; }
@media (max-width: 782px) { body.page-id-2002 .bf-sec-photo img { height: 230px; } }

/* sportsterapi hub (page 868): light page, photo cover-hero painted via CSS background (reliable). Photo: media 2130 (Gergø back treatment, BEAST FACTORY fysiurgisk massage wall). */
body.page-id-868 .bf-subhero .wp-block-cover__background { display: none !important; }
body.page-id-868 .bf-subhero .wp-block-cover__image-background { display: none !important; }
body.page-id-868 .bf-subhero { background-image: url('https://beastfactory.dk/wp-content/uploads/2026/05/sportsmassage-ryg-behandling-beastfactory-hero.webp'); background-size: cover; background-position: 50% 32%; background-repeat: no-repeat; }
body.page-id-868 .bf-subhero::after { content: ""; position: absolute; inset: 0; z-index: 1; background-color: rgba(18,14,10,.5); pointer-events: none; }
body.page-id-868 .bf-subhero .wp-block-cover__inner-container { position: relative; z-index: 2; }
/* sportsterapi section photos (rounded bands) */
body.page-id-868 .bf-sec-photo { margin: 12px auto 26px !important; max-width: var(--wp--style--global--wide-size, 1080px) !important; width: 100%; }
body.page-id-868 .bf-sec-photo img { width: 100%; height: 360px; object-fit: cover; border-radius: 18px; display: block; }
@media (max-width: 782px) { body.page-id-868 .bf-sec-photo img { height: 230px; } }

/* Kontakt: SMS callout note */
.bf-sms-note { background: rgba(243,112,33,.08); border: 1px solid rgba(243,112,33,.35); border-left: 4px solid #ff6a00; border-radius: 12px; padding: 16px 20px; margin: 20px 0; }
.bf-sms-note h3 { margin-top: 0; }
.bf-sms-note strong { color: #ff6a00; }
body.bf-dark-theme .bf-sms-note, body.bf-front-dark .bf-sms-note { background: rgba(243,112,33,.12); }
/* Kontakt: drop the white .bf-info-card backlayer behind the contact form (keep only the cream form card) */
body.page-id-887 .bf-info-card:has(.bf-native-contact-form) { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; border-radius: 0 !important; }

/* personlig-traening (page 865, dark): photo cover-hero via CSS background. Photo: media 2021 (Gergø coaching client, dumbbell row). */
body.page-id-865 .bf-subhero .wp-block-cover__background { display: none !important; }
body.page-id-865 .bf-subhero .wp-block-cover__image-background { display: none !important; }
body.page-id-865 .bf-subhero { background-image: url('https://beastfactory.dk/wp-content/uploads/2026/05/personlig-traening-gergo-coaching-client-dumbbell-cinematic.webp'); background-size: cover; background-position: 50% 26%; background-repeat: no-repeat; }
body.page-id-865 .bf-subhero::after { content: ""; position: absolute; inset: 0; z-index: 1; background-color: rgba(18,14,10,.5); pointer-events: none; }
body.page-id-865 .bf-subhero .wp-block-cover__inner-container { position: relative; z-index: 2; }
body.page-id-865 .bf-sec-photo { margin: 12px auto 26px !important; max-width: var(--wp--style--global--wide-size, 1080px) !important; width: 100%; }
body.page-id-865 .bf-sec-photo img { width: 100%; height: 360px; object-fit: cover; border-radius: 18px; display: block; }
@media (max-width: 782px) { body.page-id-865 .bf-sec-photo img { height: 230px; } }

/* Sportsterapi: "Min klinik" room-photo gallery (portrait shots) */
body.page-id-868 .bf-room-gallery { max-width: var(--wp--style--global--wide-size, 1080px); margin: 8px auto 12px; }
body.page-id-868 .bf-room-img img { width: 100%; height: 460px; object-fit: cover; border-radius: 14px; display: block; }
body.page-id-868 .bf-room-cap { font-size: .92rem; opacity: .72; margin-top: 12px; }
@media (max-width: 782px) { body.page-id-868 .bf-room-img img { height: 300px; } }
/* Review stars + source badge (used in testimonials) */
.bf-rev-meta { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; flex-wrap: wrap; }
.bf-rev-stars { color: #f5a623; letter-spacing: 3px; font-size: 1.15rem; line-height: 1; }
.bf-rev-badge { display: inline-flex; align-items: center; gap: 6px; background: #ffffff; border: 1px solid #e4e4e4; border-radius: 20px; padding: 3px 11px; font-size: .8rem; font-weight: 600; color: #444; }
.bf-rev-badge::before { content: "G"; display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; border-radius: 50%; background: #f5f5f5; color: #4285F4; font-weight: 800; font-size: .72rem; }
body.bf-dark-theme .bf-rev-badge, body.bf-front-dark .bf-rev-badge { background: rgba(255,255,255,.1); color: #eee; border-color: rgba(255,255,255,.2); }
.bf-rev-badge--fb::before { content: "f"; color: #1877F2; }
/* Review cards (2-up testimonial grid) */
.bf-rev-card { background: #ffffff; border: 1px solid #ececec; border-radius: 16px; padding: 22px 24px; height: 100%; }
body.bf-dark-theme .bf-rev-card, body.bf-front-dark .bf-rev-card { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.1); }
.bf-rev-card .bf-rev-quote { font-size: 1.02rem; line-height: 1.6; margin: 0 0 14px; }
.bf-rev-card .bf-rev-name { font-weight: 700; font-size: .95rem; opacity: .82; margin: 0; }
.bf-rev-grid { gap: 20px; }

/* Sportsterapi condition sub-pages: photo cover-hero via CSS background (the cover <img> image-background doesn't paint; the overlay span + CSS bg do). */
body.page-id-2080 .bf-subhero .wp-block-cover__image-background,
body.page-id-2082 .bf-subhero .wp-block-cover__image-background,
body.page-id-2084 .bf-subhero .wp-block-cover__image-background,
body.page-id-2086 .bf-subhero .wp-block-cover__image-background,
body.page-id-2093 .bf-subhero .wp-block-cover__image-background,
body.page-id-2095 .bf-subhero .wp-block-cover__image-background,
body.page-id-2097 .bf-subhero .wp-block-cover__image-background,
body.page-id-2099 .bf-subhero .wp-block-cover__image-background { display: none !important; }
body.page-id-2080 .bf-subhero { background-image: url('https://beastfactory.dk/wp-content/uploads/2026/05/sportsterapi-ryg-skulder-behandling-beastfactory-hero.webp'); background-size: cover; background-position: 50% 30%; background-repeat: no-repeat; }
body.page-id-2082 .bf-subhero { background-image: url('https://beastfactory.dk/wp-content/uploads/2026/05/sportsterapi-laendesmerter-hofte-behandling-beastfactory-hero.webp'); background-size: cover; background-position: 50% 30%; background-repeat: no-repeat; }
body.page-id-2084 .bf-subhero { background-image: url('https://beastfactory.dk/wp-content/uploads/2026/05/sportsterapi-nakkespaendinger-nakke-behandling-beastfactory-hero.webp'); background-size: cover; background-position: 50% 30%; background-repeat: no-repeat; }
body.page-id-2086 .bf-subhero { background-image: url('https://beastfactory.dk/wp-content/uploads/2026/05/sportsterapi-knaesmerter-lunge-teknik-beastfactory-hero.webp'); background-size: cover; background-position: 50% 30%; background-repeat: no-repeat; }
body.page-id-2093 .bf-subhero { background-image: url('https://beastfactory.dk/wp-content/uploads/2026/05/sportsterapi-hoftesmerter-sideleje-behandling-beastfactory-hero.webp'); background-size: cover; background-position: 50% 30%; background-repeat: no-repeat; }
body.page-id-2095 .bf-subhero { background-image: url('https://beastfactory.dk/wp-content/uploads/2026/05/sportsterapi-tennisalbue-underarm-behandling-beastfactory-hero.webp'); background-size: cover; background-position: 50% 30%; background-repeat: no-repeat; }
body.page-id-2097 .bf-subhero { background-image: url('https://beastfactory.dk/wp-content/uploads/2026/05/sportsterapi-musearm-haandled-underarm-beastfactory-hero.webp'); background-size: cover; background-position: 50% 30%; background-repeat: no-repeat; }
body.page-id-2099 .bf-subhero { background-image: url('https://beastfactory.dk/wp-content/uploads/2026/05/sportsterapi-hoftesmerter-sideleje-behandling-beastfactory-hero.webp'); background-size: cover; background-position: 50% 30%; background-repeat: no-repeat; }

/* Online personlig træning (page 2001, dark): photo cover-hero via CSS background. Photo media 2024 (coaching + app dashboard). */
body.page-id-2001 .bf-subhero .wp-block-cover__image-background { display: none !important; }
body.page-id-2001 .bf-subhero { background-image: url('https://beastfactory.dk/wp-content/uploads/2026/05/personlig-traening-kost-planlaegning-app-gergo-cinematic.webp'); background-size: cover; background-position: 50% 32%; background-repeat: no-repeat; }

/* Open WOD editable 6-track grid */
.bf-open-wod-page {
  width: 100%;
  max-width: none !important;
  margin: 0;
  padding: clamp(24px, 4vw, 52px) 0;
  background: #ebe7dc;
}

.bf-open-wod-page > * {
  width: min(1180px, calc(100% - 32px));
  margin-left: auto;
  margin-right: auto;
}

.bf-open-wod-hero-editable {
  margin-bottom: clamp(22px, 3vw, 36px);
}

.bf-open-wod-hero-editable h1 {
  margin: 0;
  color: #171410;
  font-size: clamp(3rem, 8vw, 6.2rem);
  line-height: 0.9;
  letter-spacing: 0;
  text-transform: uppercase;
}

.bf-open-wod-hero-editable .bf-lead {
  max-width: 760px;
  color: #675f52;
}

.bf-open-wod-card-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}

.bf-open-wod-card-grid > .wp-block-column {
  display: flex;
  min-width: 0;
}

.bf-open-wod-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 240px;
  padding: clamp(18px, 2vw, 24px);
  border: 1px solid #e2dbcd;
  border-radius: 14px;
  background: #fffdf8;
  box-shadow: 0 18px 40px rgba(29, 24, 18, 0.05);
}

.bf-open-wod-card__icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  margin: 0 0 14px !important;
  border-radius: 10px;
  background: #f3ded8;
  font-size: 1.2rem;
  line-height: 1;
}

.bf-open-wod-card h2 {
  margin: 0 0 4px;
  color: #171410;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  line-height: 1.05;
}

.bf-open-wod-card__meta {
  margin: 0 0 14px !important;
  color: #80786a;
  font-size: 0.92rem;
}

.bf-open-wod-card .wp-block-separator {
  width: 100%;
  margin: auto 0 14px;
  border-color: #e2dbcd;
}

.bf-open-wod-card h3 {
  margin: 0 0 10px;
  color: #171410;
  font-size: 1rem;
}

.bf-open-wod-program-block {
  width: 100%;
  margin: 0 0 10px;
  padding: 11px 13px 12px;
  border: 1px solid #e4dccd;
  border-left: 3px solid #d76432;
  border-radius: 10px;
  background: #f8f4ec;
}

.bf-open-wod-program-block:last-child {
  margin-bottom: 0;
}

.bf-open-wod-program-block h4 {
  margin: 0 0 7px;
  color: #171410;
  font-size: 0.86rem;
  font-weight: 900;
  line-height: 1.2;
  text-transform: uppercase;
}

.bf-open-wod-program-block ul {
  display: grid;
  gap: 5px;
  margin: 0;
  padding-left: 1.1rem;
  color: #4f483d;
  font-size: 0.9rem;
  line-height: 1.35;
}

.bf-open-wod-page .bf-open-wod-share {
  margin-top: clamp(20px, 3vw, 34px);
  color: #f7f7f0;
  background:
    linear-gradient(135deg, rgba(243, 112, 33, 0.18), rgba(255, 255, 255, 0.045)),
    #12100c;
}

.bf-open-wod-page .bf-share-actions {
  display: block;
  padding: 0;
  background: transparent;
  border: 0;
}

.bf-open-wod-page .bf-share-button--open-wod {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 136px;
  min-height: 32px;
  padding: 0 18px;
  border: 0;
  border-radius: 6px;
  background: #2f64f6;
  color: #fff;
  box-shadow: none;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 32px;
  text-transform: none;
}

.bf-open-wod-page .bf-share-button--open-wod:hover,
.bf-open-wod-page .bf-share-button--open-wod:focus {
  background: #2f64f6;
  color: #fff;
  transform: none;
  filter: none;
}

@media (max-width: 980px) {
  .bf-open-wod-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  .bf-open-wod-page > * {
    width: min(100% - 24px, 1180px);
  }

  .bf-open-wod-card-grid {
    grid-template-columns: 1fr !important;
  }

  .bf-open-wod-card {
    min-height: 0;
  }
}

/* Open WOD: override WordPress Columns' generated flex layout for the 2 x 3 program grid. */
.entry-content .wp-block-columns.bf-open-wod-card-grid,
.entry-content .wp-block-columns.bf-open-wod-card-grid.is-layout-flex,
.bf-open-wod-page .wp-block-columns.bf-open-wod-card-grid,
.bf-open-wod-page .wp-block-columns.bf-open-wod-card-grid.is-layout-flex {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}

.entry-content .wp-block-columns.bf-open-wod-card-grid > .wp-block-column,
.bf-open-wod-page .wp-block-columns.bf-open-wod-card-grid > .wp-block-column {
  flex: none !important;
  flex-basis: auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}

@media (max-width: 980px) {
  .entry-content .wp-block-columns.bf-open-wod-card-grid,
  .entry-content .wp-block-columns.bf-open-wod-card-grid.is-layout-flex,
  .bf-open-wod-page .wp-block-columns.bf-open-wod-card-grid,
  .bf-open-wod-page .wp-block-columns.bf-open-wod-card-grid.is-layout-flex {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  .entry-content .wp-block-columns.bf-open-wod-card-grid,
  .entry-content .wp-block-columns.bf-open-wod-card-grid.is-layout-flex,
  .bf-open-wod-page .wp-block-columns.bf-open-wod-card-grid,
  .bf-open-wod-page .wp-block-columns.bf-open-wod-card-grid.is-layout-flex {
    grid-template-columns: 1fr !important;
  }
}

/* Open WOD visual polish: scoped layout layer, content unchanged. */
.bf-open-wod-page {
  --bf-open-wod-shell: min(1220px, calc(100% - clamp(28px, 5vw, 72px)));
  --bf-open-wod-gap: clamp(18px, 2vw, 26px);
  --bf-open-wod-card-pad: clamp(22px, 2.15vw, 30px);
  --bf-open-wod-line: #ded6c6;
  --bf-open-wod-ink: #171410;
  --bf-open-wod-muted: #746b5d;
  --bf-open-wod-paper: #fffdf8;
  --bf-open-wod-soft: #f7f2e9;
  padding: clamp(34px, 5vw, 68px) 0 clamp(42px, 6vw, 80px);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0)),
    #ebe7dc;
}

.bf-open-wod-page > * {
  width: var(--bf-open-wod-shell);
}

.bf-open-wod-hero-editable {
  max-width: 840px;
  margin-bottom: clamp(26px, 3.6vw, 46px);
}

.bf-open-wod-hero-editable .bf-eyebrow {
  margin-bottom: 10px;
  color: #a94f2c;
}

.bf-open-wod-hero-editable h1 {
  font-size: clamp(3.2rem, 6.2vw, 5.9rem);
}

.bf-open-wod-hero-editable .bf-lead {
  margin-top: 16px;
  color: var(--bf-open-wod-muted);
  font-size: clamp(1rem, 1.25vw, 1.12rem);
  line-height: 1.65;
}

.entry-content .wp-block-columns.bf-open-wod-card-grid,
.entry-content .wp-block-columns.bf-open-wod-card-grid.is-layout-flex,
.bf-open-wod-page .wp-block-columns.bf-open-wod-card-grid,
.bf-open-wod-page .wp-block-columns.bf-open-wod-card-grid.is-layout-flex {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: var(--bf-open-wod-gap) !important;
  grid-auto-rows: auto;
  margin-top: 0;
  margin-bottom: 0;
}

.entry-content .wp-block-columns.bf-open-wod-card-grid > .wp-block-column,
.bf-open-wod-page .wp-block-columns.bf-open-wod-card-grid > .wp-block-column {
  display: flex;
}

.bf-open-wod-card {
  height: 100%;
  min-height: 0;
  padding: var(--bf-open-wod-card-pad);
  border: 1px solid rgba(94, 82, 64, 0.16);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.78), rgba(255, 255, 255, 0)),
    var(--bf-open-wod-paper);
  box-shadow: 0 18px 46px rgba(35, 28, 18, 0.075);
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  column-gap: 14px;
  align-content: start;
}

.bf-open-wod-card > * {
  max-width: 100%;
}

.bf-open-wod-card__icon {
  width: 44px;
  height: 44px;
  grid-column: 1;
  grid-row: 1 / span 2;
  margin: 0 !important;
  border-radius: 12px;
  background: #f3ded8;
  box-shadow: inset 0 0 0 1px rgba(215, 100, 50, 0.08);
}

.bf-open-wod-card h2 {
  grid-column: 2;
  margin-bottom: 6px;
  color: var(--bf-open-wod-ink);
  font-size: clamp(1.34rem, 1.45vw, 1.62rem);
  font-weight: 900;
  line-height: 1.02;
  white-space: nowrap;
}

.bf-open-wod-card__meta {
  grid-column: 2;
  margin-bottom: 18px !important;
  color: var(--bf-open-wod-muted);
  font-size: 0.93rem;
  line-height: 1.35;
}

.bf-open-wod-card .wp-block-separator {
  grid-column: 1 / -1;
  margin: 0 0 18px;
  border-color: var(--bf-open-wod-line);
  opacity: 1;
}

.bf-open-wod-card h3 {
  grid-column: 1 / -1;
  margin: 0 0 14px;
  color: var(--bf-open-wod-ink);
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.25;
}

.bf-open-wod-program-block {
  grid-column: 1 / -1;
  margin-bottom: 12px;
  padding: 13px 15px 14px;
  border-color: rgba(94, 82, 64, 0.14);
  border-left-color: #d76432;
  border-radius: 12px;
  background: var(--bf-open-wod-soft);
}

.bf-open-wod-program-block h4 {
  margin-bottom: 8px;
  color: var(--bf-open-wod-ink);
  font-size: 0.78rem;
  letter-spacing: 0.045em;
}

.bf-open-wod-program-block ul {
  gap: 6px;
  padding-left: 1rem;
  color: #4d4539;
  font-size: 0.92rem;
  line-height: 1.45;
}

.bf-open-wod-program-block li::marker {
  color: #d76432;
}

.bf-open-wod-page .bf-open-wod-share {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(22px, 4vw, 46px);
  align-items: center;
  margin-top: clamp(28px, 4vw, 52px);
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  box-shadow: 0 20px 52px rgba(18, 16, 12, 0.16);
}

.bf-open-wod-share__copy p {
  margin: 0 0 6px;
  color: #d76432;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.bf-open-wod-share__copy strong {
  display: block;
  margin-bottom: 8px;
  color: #fffdf8;
  font-size: clamp(1.35rem, 2vw, 1.9rem);
  line-height: 1.12;
}

.bf-open-wod-share__copy span {
  display: block;
  max-width: 62ch;
  margin-bottom: 18px;
  color: rgba(255, 253, 248, 0.68);
  overflow-wrap: anywhere;
  font-size: 0.92rem;
}

.bf-open-wod-page .bf-share-actions {
  margin-top: 0;
}

.bf-open-wod-share__qr {
  display: grid;
  place-items: center;
  padding: clamp(10px, 1.6vw, 16px);
  border-radius: 16px;
  background: #fffdf8;
}

.bf-open-wod-share__qr img {
  display: block;
  width: clamp(148px, 14vw, 190px);
  height: auto;
  max-width: 100%;
  border-radius: 10px;
}

@media (max-width: 980px) {
  .entry-content .wp-block-columns.bf-open-wod-card-grid,
  .entry-content .wp-block-columns.bf-open-wod-card-grid.is-layout-flex,
  .bf-open-wod-page .wp-block-columns.bf-open-wod-card-grid,
  .bf-open-wod-page .wp-block-columns.bf-open-wod-card-grid.is-layout-flex {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  .bf-open-wod-page {
    --bf-open-wod-shell: min(100% - 24px, 1220px);
  }

  .bf-open-wod-hero-editable h1 {
    font-size: clamp(2.75rem, 15vw, 4.2rem);
  }

  .entry-content .wp-block-columns.bf-open-wod-card-grid,
  .entry-content .wp-block-columns.bf-open-wod-card-grid.is-layout-flex,
  .bf-open-wod-page .wp-block-columns.bf-open-wod-card-grid,
  .bf-open-wod-page .wp-block-columns.bf-open-wod-card-grid.is-layout-flex {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .bf-open-wod-card {
    border-radius: 16px;
  }

  .bf-open-wod-page .bf-open-wod-share {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 30px;
    margin-bottom: 6px;
    padding: 22px;
    text-align: center;
  }

  .bf-open-wod-share__copy span {
    margin-left: auto;
    margin-right: auto;
  }

  .bf-open-wod-page .bf-share-actions {
    display: flex;
    justify-content: center;
  }

  .bf-open-wod-share__qr {
    width: fit-content;
    margin: 4px auto 0;
    padding: 14px;
  }

  .bf-open-wod-share__qr img {
    width: min(168px, 58vw);
  }
}


/* bf-h1-scale-2026-08 */
h1.bf-hero-title{font-size:clamp(2.05rem,3.5vw,3rem);line-height:1.08;}
@media (max-width:680px){h1.bf-hero-title{font-size:1.95rem;}}


/* bf-footer-5col 2026-08 */
.bf-home-footer__inner{grid-template-columns:1.5fr .95fr 1.1fr .75fr .7fr 1.1fr}
@media (max-width:1150px){.bf-home-footer__inner{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:640px){.bf-home-footer__inner{grid-template-columns:1fr}}

/* bf-footer-logo-nudge */
.bf-home-footer__logo{margin-top:-4px}

/* bf-appnotice-mobile 2026-08-15: app-banneret var en flex-række der pressede teksten til én smal spalte på telefon */
@media (max-width:781px){
.bf-app-migration-notice{display:block !important;padding:18px 18px 20px !important}
.bf-app-migration-notice__badge{display:none !important}
.bf-app-migration-notice__content{max-width:none !important}
.bf-app-migration-notice h2{font-size:1.12rem !important;line-height:1.35 !important;margin:4px 0 8px !important}
.bf-app-migration-notice p{font-size:.92rem !important;line-height:1.5 !important}
.bf-app-migration-notice__link{display:inline-block !important;margin-top:12px !important;padding:10px 22px !important}
}
