/** BFOTO 3.1 monochrome compatibility layer. Loaded after Elementor/theme CSS. */
:root,
body {
  --bfoto-bg-primary: #050505;
  --bfoto-bg-secondary: #0b0b0b;
  --bfoto-bg-surface: #111111;
  --bfoto-bg-elevated: #161616;
  --bfoto-text-primary: #f1eee8;
  --bfoto-text-secondary: #aaa7a1;
  --bfoto-text-muted: #74716c;
  --bfoto-border: rgba(241, 238, 232, 0.10);
  --bfoto-border-strong: rgba(241, 238, 232, 0.18);
  --bfoto-focus: #d0c7b8;
  --bfoto-accent: #d0c7b8;
  --bfoto-accent-hover: #f1eee8;
  --e-global-color-primary: #f1eee8;
  --e-global-color-secondary: #aaa7a1;
  --e-global-color-text: #aaa7a1;
  --e-global-color-accent: #d0c7b8;
  background: #050505;
  color: #aaa7a1;
}

body,
.elementor-page,
.elementor-location-single,
.elementor-location-archive {
  background-color: #050505 !important;
  color: #aaa7a1;
}

.elementor-page :where(h1, h2, h3, h4, h5, h6),
.elementor-page .elementor-heading-title,
.elementor-page .elementor-widget-heading .elementor-heading-title {
  color: #f1eee8 !important;
}

.elementor-page :where(p, li, dt, dd, figcaption),
.elementor-page .elementor-widget-text-editor,
.elementor-page .elementor-widget-text-editor .elementor-widget-container {
  color: #b8b4ad;
  font-size: max(1rem, 16px);
  line-height: 1.75;
}

.elementor-page :where(.bfoto-eyebrow, .bfoto-kicker, .bfoto-section-no),
.elementor-page :where(.elementor-post-info__item, .elementor-icon-list-text) {
  color: #918c84 !important;
}
.elementor-page :where(.bfoto-eyebrow, .bfoto-kicker, .bfoto-section-no) {
  font-size: .75rem;
  line-height: 1.5;
}

.elementor-page .elementor-button,
.elementor-page a.elementor-button,
.elementor-page button.elementor-button,
.elementor-page .bfoto-button {
  min-height: 46px;
  padding: 0.75rem 1.4rem;
  border: 1px solid rgba(241, 238, 232, 0.18) !important;
  border-radius: 2px !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #f1eee8 !important;
}

.elementor-page .elementor-button:hover,
.elementor-page .elementor-button:focus-visible,
.elementor-page .bfoto-button--primary {
  background-color: #f1eee8 !important;
  color: #050505 !important;
}

.elementor-page :where(.elementor-icon, .elementor-icon-list-icon, .elementor-social-icon) {
  background-color: transparent !important;
  color: #aaa7a1 !important;
  fill: #aaa7a1 !important;
}

.elementor-page :where(.elementor-divider-separator, hr) {
  border-color: rgba(241, 238, 232, 0.10) !important;
}

.elementor-page :where(input, textarea, select) {
  border: 0 !important;
  border-bottom: 1px solid rgba(241, 238, 232, 0.18) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #f1eee8 !important;
}

.elementor-page :where(input, textarea, select):focus {
  border-bottom-color: #d0c7b8 !important;
  outline: 2px solid transparent;
}

/* Neutralize colored surfaces generated by older BFOTO Elementor documents. */
.elementor-page :where(
  .bfoto-v3-intro,
  .bfoto-v3-services,
  .bfoto-v3-page__body,
  .bfoto-v3-process
) {
  background-color: #050505 !important;
  background-image: none !important;
}

.elementor-page :where(
  .bfoto-v3-story,
  .bfoto-v3-quote,
  .bfoto-achievements,
  .bfoto-v3-cta
) {
  background-color: #0b0b0b !important;
  background-image: none !important;
}

/* Artwork and photographs deliberately retain their original color. */
.elementor-page img {
  filter: none;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
