/* Preserve the reference design; add standalone, accessible interaction states. */
html { scroll-behavior: smooth; }
body { overflow-x: clip; }
:focus-visible { outline: 3px solid #d178ad; outline-offset: 5px; }
.replica-reveal-pending { opacity: 0; }
.replica-reveal { animation: var(--reveal-name, replicaFade) 1s both; animation-delay: var(--reveal-delay, 0ms); }
@keyframes replicaFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes replicaUp { from { opacity: 0; transform: translateY(45px); } to { opacity: 1; transform: translateY(0); } }
@keyframes replicaDown { from { opacity: 0; transform: translateY(-45px); } to { opacity: 1; transform: translateY(0); } }
@keyframes replicaLeft { from { opacity: 0; transform: translateX(-45px); } to { opacity: 1; transform: translateX(0); } }
@keyframes replicaRight { from { opacity: 0; transform: translateX(45px); } to { opacity: 1; transform: translateX(0); } }
@keyframes replicaFloat { from { translate: 0 0; } to { translate: 0 15px; } }
.replica-float { animation: replicaFloat 2s ease-in-out infinite alternate; }
.cd-words-wrapper.replica-typing { display: inline !important; position: relative; white-space: normal; }
.cd-headline.type .cd-words-wrapper.replica-typing::after { display: none; }
.replica-typing span { font-family: Kalam, cursive; font-weight: 700; color: var(--e-global-color-primary, #ffe36a); }
.hfe-has-submenu:hover > .sub-menu,
.hfe-has-submenu:focus-within > .sub-menu,
.hfe-has-submenu.replica-submenu-open > .sub-menu { opacity: 1 !important; visibility: visible !important; display: block !important; }
.hfe-has-submenu .sub-arrow .fa::before { content: '\f107'; }
.replica-mobile-nav { background: #fff; }
.king-addons-card-carousel-nav { cursor: pointer; }
.ha-testimonial-carousel__wrap:not(.slick-initialized) { display: flex; overflow-x: auto; }
.ha-testimonial-carousel__wrap:not(.slick-initialized) > .slick-slide { display: block; min-width: 33.333%; }
@media (max-width: 1024px) {
  .hfe-nav-menu__toggle { cursor: pointer; }
  .hfe-nav-menu__toggle .hfe-nav-menu-icon::before { content: '\2630'; font: 28px sans-serif; }
  .hfe-nav-menu__toggle .hfe-nav-menu-icon i { display: none; }
  nav.replica-mobile-nav { position: absolute !important; top: 100%; right: 0; min-width: min(330px, 85vw); z-index: 100; padding: 15px; box-shadow: 0 10px 30px #0002; }
  nav.replica-mobile-nav:not(.replica-menu-open) { display: none !important; }
  nav.replica-mobile-nav.replica-menu-open { display: block !important; visibility: visible !important; height: auto !important; }
  nav.replica-mobile-nav > ul { display: flex !important; flex-direction: column; align-items: stretch; }
  nav.replica-mobile-nav .sub-menu { position: static !important; box-shadow: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .replica-reveal-pending { opacity: 1; }
}
