/* Small interaction layer; base typography, colors and layout remain theme-owned. */
.fusion-header-wrapper.atm-sticky-header { position: relative !important; top: 0; z-index: 1000; }
.fusion-header-wrapper.atm-header-scrolled { position:fixed !important; width:100%; background:#f5f5f5; box-shadow: 0 2px 10px rgb(0 0 0 / 12%); }
.fusion-header-wrapper.atm-header-scrolled .fusion-logo img { max-height:60px; width:auto !important; }
.fusion-header-wrapper.atm-header-scrolled .fusion-logo { margin-top:0 !important; margin-bottom:0 !important; }

.fusion-mobile-nav-holder[hidden],
.fusion-mobile-nav-holder ul.sub-menu[hidden],
.fusion-tabs .tab-pane[hidden],
.fusion-accordian .panel-collapse[hidden] { display: none !important; }
.fusion-mobile-nav-holder:not([hidden]) { display: block; }
.fusion-mobile-nav-holder .atm-submenu-toggle,
.atm-carousel-arrow,
.atm-lightbox-close,
.atm-scroll-top {
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  font: inherit;
}
.fusion-mobile-nav-holder .atm-submenu-toggle { min-width: 2.5rem; min-height: 2.5rem; margin-inline-start: .5rem; }
.fusion-mobile-nav-holder li.menu-item-has-children { display: flex; flex-wrap: wrap; align-items: center; }
.fusion-mobile-nav-holder li.menu-item-has-children > a { flex: 1 1 auto; }
.fusion-mobile-nav-holder li.menu-item-has-children > ul.sub-menu { flex: 1 0 100%; }

.fusion-carousel-wrapper.atm-carousel-enhanced, .fusion-carousel.atm-carousel-enhanced { position: relative; }
.fusion-carousel-wrapper.atm-carousel-enhanced > .fusion-carousel-holder { overflow-x: auto; scroll-snap-type: x mandatory; }
.fusion-carousel-wrapper.atm-carousel-enhanced .fusion-carousel-item { scroll-snap-align: start; }
.atm-carousel-controls { position: absolute; inset: 50% .5rem auto; display: flex; justify-content: space-between; gap: .75rem; transform: translateY(-50%); pointer-events: none; }
.atm-carousel-arrow { min-width: 2.75rem; min-height: 2.75rem; border: 1px solid currentColor; background: transparent; font-size: 1.75rem; line-height: 1; }
.atm-carousel-controls .atm-carousel-arrow { pointer-events: auto; }

.atm-flex-slider-shell { position: relative; }
.atm-flex-slider-shell .fusion-slider-loading { display:none !important; }
.atm-flex-slider .slides > li:not([hidden]) { display: block !important; }
.atm-flex-slider-arrow { position: absolute; top: 50%; z-index: 3; display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border: 0; border-radius: 50%; background: rgb(0 0 0 / 45%); color: #fff; cursor: pointer; font-size: 2rem; transform: translateY(-50%); }
.atm-flex-slider-prev { left: .75rem; }
.atm-flex-slider-next { right: .75rem; }
.atm-flex-slider-dots { position: absolute; right: 0; bottom: .75rem; left: 0; z-index: 3; display: flex; justify-content: center; gap: .5rem; }
.atm-flex-slider-dots button { width: .7rem; height: .7rem; padding: 0; border: 1px solid #fff; border-radius: 50%; background: transparent; cursor: pointer; }
.atm-flex-slider-dots button.active { background: #fff; }

.atm-lightbox { position: fixed; inset: 0; width: min(94vw, 1200px); max-width: none; max-height: 92vh; padding: 3rem 1rem 1rem; border: 0; background: rgb(15 15 15 / 96%); }
.atm-lightbox::backdrop { background: rgb(0 0 0 / 82%); }
.atm-lightbox img { display: block; width: auto; height: auto; max-width: 100%; max-height: calc(92vh - 4rem); margin: auto; object-fit: contain; }
.atm-lightbox-close { position: absolute; top: .35rem; right: .5rem; width: 2.75rem; height: 2.75rem; border: 0; background: transparent; color: #fff; font-size: 2rem; }
.atm-scroll-top { position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 1100; width: 2.75rem; height: 2.75rem; border: 0; border-radius: 50%; background: #222; color: #fff; font-size: 1.4rem; }
.atm-scroll-top[hidden] { display: none; }
.atm-animation-visible { visibility: visible !important; opacity: 1 !important; }
.fusion-imageframe img { opacity: 1; }

@media (prefers-reduced-motion: reduce) {
  .atm-carousel-enhanced, .atm-scroll-top { scroll-behavior: auto !important; }
}
