/* BeeFixPro v64 — final accessibility, floating-action and readable-metadata layer. */

:root {
  --bfp-focus-ring: #8a5700;
  --bfp-safe-bottom: env(safe-area-inset-bottom, 0px);
}

html {
  scroll-padding-bottom: calc(24px + var(--bfp-safe-bottom));
}

/* Keep keyboard focus visible across old and new page modules. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible {
  outline: 3px solid rgba(138, 87, 0, .55);
  outline-offset: 3px;
}

/* The header's helper label is real information, not decorative microcopy. */
.main-header .main-menu__call-sub-title,
.stricky-header .main-menu__call-sub-title {
  color: #4f5966;
  font-size: 12px;
  line-height: 1.25;
}

/* Compact centered floating actions with safe-area and footer protection. */
body .sticky-cta {
  z-index: 900 !important;
  right: auto !important;
  bottom: calc(18px + var(--bfp-safe-bottom)) !important;
  left: 50% !important;
  width: min(382px, calc(100vw - 92px)) !important;
  grid-template-columns: minmax(190px, 1fr) minmax(142px, .76fr);
  gap: 6px;
  padding: 6px;
  border-radius: 16px;
  transform: translate(-50%, 96px) scale(.98) !important;
  transition: opacity .24s ease, visibility .24s ease, transform .32s cubic-bezier(.22, .61, .36, 1);
}

body .sticky-cta.show {
  transform: translate(-50%, 0) scale(1) !important;
}

body .sticky-cta__call,
body .sticky-cta__book {
  min-height: 50px;
  border-radius: 11px;
}

body .sticky-cta__call {
  gap: 8px;
  padding: 6px 11px;
}

body .sticky-cta__icon {
  width: 32px;
  height: 32px;
  flex-basis: 32px;
  font-size: 12px;
}

body .sticky-cta__copy small {
  color: #515b67;
  font-size: 12px;
  letter-spacing: .075em;
}

body .sticky-cta__copy strong {
  font-size: 13px;
  letter-spacing: .025em;
}

body .sticky-cta__book {
  gap: 7px;
  padding: 0 13px;
  font-size: 12px;
  letter-spacing: .065em;
}

body .scroll-to-top {
  z-index: 880 !important;
}

body .sticky-cta.is-near-footer,
body.work-modal-open .sticky-cta,
body.hcp-no-scroll .sticky-cta,
body.mobile-nav-open .sticky-cta {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translate(-50%, 22px) scale(.97) !important;
}

.site-footer.premium-footer {
  padding-bottom: max(44px, calc(32px + var(--bfp-safe-bottom)));
}

/* Homepage project captions and controls. */
.home-work-card__case,
.home-work-card__date {
  font-size: 12px;
}

.home-work-card__category,
.home-work-card__eyebrow,
.home-work-card__location,
.home-work-card__view,
.home-work-showcase__hint {
  font-size: 12px;
}

.home-work-card__eyebrow,
.home-work-card__view {
  color: #704700;
}

.home-work-showcase__hint {
  color: #58616d;
}

/* Our Work: eliminate 6–9 px functional text and low-contrast metadata. */
.work-library__signals strong {
  font-size: 13px;
}

.work-library__signals small {
  color: #59615b;
  font-size: 12px;
}

.work-library__filter {
  color: #4e564f;
  font-size: 12px;
}

.work-library__filter small {
  color: #525a53;
  font-size: 12px;
}

.work-library__search input {
  font-size: 14px;
}

.work-library__search input::placeholder {
  color: #626a64;
}

.work-library__result-line,
.work-library__privacy,
.work-library__note {
  color: #59615b;
  font-size: 12px;
}

.work-project-card__count,
.work-project-card__case,
.work-project-card__categories span,
.work-project-card__date,
.work-project-card__eyebrow,
.work-project-card__meta,
.work-project-card__review small,
.work-project-card__open,
.work-library__page {
  font-size: 12px;
}

.work-project-card__eyebrow,
.work-project-card__meta,
.work-project-card__review small {
  color: #59615b;
}

.work-project-card__categories span,
.work-project-card__date,
.work-project-card__open {
  color: #704700;
}

.work-project-card__summary,
.work-project-card__review p {
  color: #565e57;
  font-size: 13px;
}

.work-project-card__stars,
.work-detail__review-head span:first-child {
  color: #915900;
  font-size: 12px;
}

.work-library__empty span {
  color: #59615b;
  font-size: 13px;
}

/* Modal stays above navigation/content without extreme z-index values. */
.work-detail {
  z-index: 12000;
}

.work-detail__brand span,
.work-detail__counter,
.work-detail__eyebrow,
.work-detail__fact small,
.work-detail__review-head small,
.work-detail__review footer,
.work-detail__book small,
.work-detail__links small {
  font-size: 12px;
}

.work-detail__brand span,
.work-detail__fact small,
.work-detail__review-head small,
.work-detail__review footer,
.work-detail__links small {
  color: #59615b;
}

.work-detail__eyebrow {
  color: #744900;
  font-size: 12px;
}

.work-detail__caption {
  font-size: 12px;
}

.work-detail__summary,
.work-detail__section > p {
  color: #555d57;
  font-size: 14px;
}

.work-detail__fact strong,
.work-detail__checklist li,
.work-detail__outcome strong,
.work-detail__review blockquote,
.work-detail__company-note,
.work-detail__book strong,
.work-detail__links strong {
  font-size: 13px;
}

.work-detail__checklist li,
.work-detail__company-note {
  color: #555d57;
}

.work-detail__outcome p {
  color: #5d5548;
  font-size: 12px;
}

.work-detail__actions {
  grid-template-columns: minmax(190px, .82fr) minmax(0, 1.18fr);
}

.work-detail__book,
.work-detail__links a {
  min-height: 58px;
}

.work-detail__panel:focus,
.work-detail__panel:focus-visible {
  outline: none;
}

/* Shared About-style photo heroes and CTA captions appear on many pages. */
.about-v4-hero__media figcaption span,
.about-v5-cta__media figcaption span {
  font-size: 13px;
}

.about-v4-hero__media figcaption small,
.about-v5-cta__media figcaption small,
.about-v4-hero__trust small {
  color: #59615b;
  font-size: 12px;
}

.about-v4-hero__trust strong {
  font-size: 13px;
}

.premium-footer__bottom p {
  color: #59616d;
  font-size: 12px;
}

.about-v5-cta__meta {
  color: #59615b;
  font-size: 12px;
}

.premium-footer__availability,
.premium-footer__hours small,
.premium-footer__payments-title,
.premium-footer__payment-options > span {
  color: #515b67;
  font-size: 12px;
}

@media (max-width: 767px) {
  html {
    scroll-padding-bottom: calc(82px + var(--bfp-safe-bottom));
  }

  body .sticky-cta {
    right: 10px !important;
    bottom: calc(10px + var(--bfp-safe-bottom)) !important;
    left: 10px !important;
    width: auto !important;
    grid-template-columns: 1fr 1fr;
    transform: translateY(calc(96px + var(--bfp-safe-bottom))) scale(.98) !important;
  }

  body .sticky-cta.show {
    transform: translateY(0) scale(1) !important;
  }

  body .sticky-cta__copy small {
    display: block;
    font-size: 11px;
  }

  body .sticky-cta__copy strong,
  body .sticky-cta__book {
    font-size: 12px;
  }

  .site-footer.premium-footer {
    padding-bottom: max(54px, calc(42px + var(--bfp-safe-bottom)));
  }

  .home-work-card__case,
  .home-work-card__date,
  .home-work-card__category,
  .home-work-card__eyebrow,
  .home-work-card__location,
  .home-work-card__view,
  .home-work-showcase__hint {
    font-size: 12px;
  }

  .work-library__heading > p,
  .work-library__signals strong,
  .work-library__signals small,
  .work-library__result-line,
  .work-library__privacy,
  .work-library__note {
    font-size: 12px;
  }

  .work-library__filter,
  .work-library__search input {
    font-size: 14px;
  }

  .work-project-card {
    min-height: 270px;
  }

  .work-project-card__preview,
  .work-project-card__body {
    min-height: 270px;
  }

  .work-project-card__case,
  .work-project-card__categories span,
  .work-project-card__date,
  .work-project-card__eyebrow,
  .work-project-card__meta,
  .work-project-card__open,
  .work-library__page {
    font-size: 12px;
  }

  .work-project-card__summary,
  .work-project-card__review p {
    font-size: 13px;
  }

  .work-detail__brand span,
  .work-detail__fact small,
  .work-detail__review-head small,
  .work-detail__review footer,
  .work-detail__book small,
  .work-detail__links small {
    font-size: 12px;
  }

  .work-detail__caption,
  .work-detail__eyebrow {
    font-size: 12px;
  }

  .work-detail__summary,
  .work-detail__section > p,
  .work-detail__checklist li,
  .work-detail__fact strong,
  .work-detail__outcome strong,
  .work-detail__review blockquote,
  .work-detail__company-note,
  .work-detail__book strong,
  .work-detail__links strong {
    font-size: 14px;
  }

  .work-detail__actions {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 390px) {
  body .sticky-cta__icon {
    display: grid;
  }

  body .sticky-cta__call {
    gap: 6px;
    padding-right: 7px;
    padding-left: 7px;
  }

  body .sticky-cta__copy small {
    display: none;
  }

  .work-detail__brand span {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  body .sticky-cta {
    transition: none;
  }
}
