/* Visible keyboard focus across Elementor and custom site controls. */
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid #ffb727 !important;
  outline-offset: 3px !important;
}

/* Hide Royal Links' automatic sitewide banner. Page-specific disclosures remain. */
.royal-links-disclosure {
  display: none !important;
}

/*
 * Use the site's own fonts on Talent when they arrive immediately, while
 * keeping the fallback for the full visit on a slow cold load. This prevents
 * late font swaps without putting fonts ahead of the consent notice and hero.
 */
@font-face {
  font-family: "BFAF Horta Optional";
  src: url("/wp-content/uploads/2026/06/horta.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: optional;
}

@font-face {
  font-family: "BFAF Montserrat Optional";
  src: url("/wp-content/uploads/elementor/google-fonts/fonts/montserrat-49e242af.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: optional;
}

@font-face {
  font-family: "BFAF Montserrat Optional";
  src: url("/wp-content/uploads/elementor/google-fonts/fonts/montserrat-76393105.woff2") format("woff2");
  font-style: italic;
  font-weight: 100 900;
  font-display: optional;
}

body.bfaf-talent-archive
  :where(p, h1, h2, h3, h4, h5, h6, a, button, label, input, textarea, select, span):where(:not(#wpadminbar *)) {
  font-family: Arial, sans-serif !important;
}

body.bfaf-talent-archive .elementor-location-header .elementor-nav-menu a,
body.bfaf-talent-archive .elementor-element-0778417 .elementor-heading-title {
  font-family: "Arial Narrow", Impact, sans-serif !important;
}

/* Larger screens retain the branded fonts without affecting mobile LCP. */
@media (min-width: 768px) {
  body.bfaf-talent-archive
    :where(p, h1, h2, h3, h4, h5, h6, a, button, label, input, textarea, select, span):where(:not(#wpadminbar *)) {
    font-family: "BFAF Montserrat Optional", Arial, sans-serif !important;
  }

  body.bfaf-talent-archive .elementor-location-header .elementor-nav-menu a,
  body.bfaf-talent-archive .elementor-element-0778417 .elementor-heading-title {
    font-family: "BFAF Horta Optional", "Arial Narrow", Impact, sans-serif !important;
  }
}

/* Render the consent notice immediately instead of letting it become a late LCP. */
body.bfaf-talent-archive .cky-consent-container,
body.bfaf-talent-archive .cky-consent-container * {
  font-family: Arial, sans-serif !important;
}

body.bfaf-talent-archive .cky-consent-container,
body.bfaf-talent-archive .cky-consent-container .cky-consent-bar,
body.bfaf-talent-archive .cky-consent-container .cky-notice {
  animation: none !important;
  transition: none !important;
}

/* Reserve the live Elementor header logo, whose template lacks the old helper class. */
.elementor-location-header .elementor-widget-theme-site-logo a {
  display: block;
  width: min(260px, 70vw);
  aspect-ratio: 1448 / 474;
}

.elementor-location-header .elementor-widget-theme-site-logo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1448 / 474;
  object-fit: contain;
}

/* Reserve the media area before archive images arrive. */
.bf-ref-blog-grid .bf-ref-card__visual {
  min-height: 0;
  aspect-ratio: 16 / 9;
}

.bf-ref-review-grid .bf-ref-card__visual {
  min-height: 0;
  aspect-ratio: 3 / 2;
}

.bf-ref-card h2 {
  margin: 0 0 16px;
  font: 500 35px/1 var(--bf-ref-display);
  letter-spacing: -0.02em;
  text-transform: uppercase;
}

.bf-ref-card h2 a {
  color: inherit;
  text-decoration: none;
}

/* Preserve the 4:5 portrait geometry of Talent cards while images load. */
.bfaf-talent-archive .elementor-loop-container .e-loop-item .elementor-widget-image a {
  display: block;
  aspect-ratio: 4 / 5;
  overflow: hidden;
}

.bfaf-talent-archive .elementor-loop-container .e-loop-item .elementor-widget-image img {
  display: block;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
}

/* Form disclosure links should pass contrast and remain identifiable without color. */
.bfaf-collab .elementor-element-55ba9fb a {
  color: #f4f4f4 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 0.12em !important;
  text-underline-offset: 0.16em !important;
}

.bfaf-hire .elementor-element-24dfd62 a {
  color: #0f1112 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 0.12em !important;
  text-underline-offset: 0.16em !important;
}

.bfaf-hire .elementor-field-type-acceptance label {
  color: #0f1112 !important;
  opacity: 1 !important;
}

/* Source links in articles need stronger contrast and a non-color cue. */
.single-post .elementor-widget-theme-post-content a {
  color: #ffcb5a !important;
  text-decoration: underline !important;
  text-decoration-thickness: 0.12em !important;
  text-underline-offset: 0.16em !important;
}

/* Keep the age-gate card stable while the rest of the page finishes loading. */
.bf-ref-age-gate__card {
  min-height: min(658px, calc(100dvh - 44px));
  contain: layout paint;
}

.bf-ref-age-gate h1 {
  font-family: Impact, "Arial Narrow", sans-serif !important;
}

@media (max-width: 620px) {
  .bf-ref-age-gate__card {
    min-height: min(620px, calc(100dvh - 24px));
  }
}

@media (max-width: 767px) {
  /* Match the final two-column card height before fonts and badges finish loading. */
  .bfaf-talent-archive .elementor-loop-container .e-loop-item {
    min-height: calc(62.5vw + 74px);
  }

  .bfaf-talent-archive .bf-talent-card-status {
    display: flex;
    width: 100%;
    min-height: 26px;
    justify-content: center;
    gap: 4px;
    padding: 5px;
    font-size: clamp(7px, 2.1vw, 9px);
    line-height: 1.15;
    text-align: center;
    white-space: nowrap;
  }
}

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