/* Optional enhancements for native Elementor containers and widgets.
   Typography, spacing, columns, colours and media remain Elementor settings. */
html { scroll-padding-top: 6rem; }
.be-site [hidden] { display: none !important; }
.be-site :where(a, button, input, summary):focus-visible {
  outline: 2px solid #ededf3;
  outline-offset: 5px;
}
.be-header {
  /* Set fixed positioning, top: 0 and stacking order in native Elementor controls. */
  transition: background-color 220ms ease, backdrop-filter 220ms ease;
}
body.admin-bar .be-header { top: 32px; }
.be-header.is-scrolled {
  background-color: rgb(23 23 33 / 92%) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.be-hero { background-position: center calc(50% + var(--be-scroll-shift, 0px)); }
.be-hero-copy { opacity: var(--be-hero-opacity, 1); }
.be-motion-ready .be-reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 650ms ease, transform 650ms cubic-bezier(.22, .61, .36, 1);
}
.be-motion-ready .be-reveal.is-visible { opacity: 1; transform: none; }
.be-site :where(.be-search-card, .be-interactive-card) {
  transition: transform 220ms ease;
}
@media (hover: hover) and (pointer: fine) {
  .be-site :where(.be-search-card, .be-interactive-card):hover { transform: translateY(-3px); }
}
.be-site [data-filter][aria-pressed="true"] { outline: 1px solid currentColor; outline-offset: 3px; }
.be-site .be-table-scroll { overflow-x: auto; overscroll-behavior-inline: contain; }
.be-site details.be-mobile-menu > summary { cursor: pointer; }
.be-site details.be-mobile-menu > summary::-webkit-details-marker { display: none; }
.be-site details.be-mobile-menu[open] > summary { margin-bottom: 1rem; }
@media (max-width: 782px) {
  body.admin-bar .be-header { top: 46px; }
}
@media (max-width: 600px) {
  body.admin-bar .be-header { top: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .be-header, .be-site :where(.be-search-card, .be-interactive-card),
  .be-motion-ready .be-reveal { transition: none !important; }
  .be-hero { background-position: center !important; }
  .be-hero-copy { opacity: 1 !important; }
  .be-motion-ready .be-reveal { opacity: 1 !important; transform: none !important; }
}

.be-mobile-nav{display:none}.be-filters label{display:block;margin-bottom:12px}.be-filters input{width:100%;padding:16px 24px;border:1px solid #70707d;border-radius:32px;background:#1e1e2a;color:#ededf3;font:inherit}.be-filter-buttons{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.be-filter-buttons button{border:1px solid #70707d;border-radius:32px;background:transparent;color:#ededf3;padding:12px 20px;font:inherit;cursor:pointer}.be-mobile-menu{color:#ededf3}.be-mobile-menu nav a{display:block;color:#ededf3;padding:16px;text-decoration:none}.be-hero{background-position:center calc(50% + var(--be-scroll-shift,0px))!important}@media(max-width:767px){.be-desktop-nav{display:none!important}.be-mobile-nav{display:block!important}.be-mobile-menu[open] nav{position:fixed;left:20px;right:20px;top:90px;background:#1e1e2a;border-radius:12px;padding:12px}.be-header{padding:16px 20px!important}}

@media(max-width:782px){body.admin-bar .be-header{top:46px!important}body.admin-bar #wpadminbar{position:fixed!important}}
