/* Astro-only runtime adjustments. The visual system remains source-compatible. */

html {
  scroll-behavior: smooth;
}

body.akiwa-static {
  min-width: 320px;
}

body.akiwa-static [id^="bx_"] {
  scroll-margin-top: 7rem;
}

.akiwa-preview-note {
  max-width: 34rem;
  font: 500 16px/1.5 Montserrat, Arial, sans-serif;
}

.akiwa-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.akiwa-marketing-consent input:focus-visible + div {
  outline: 3px solid rgb(229 46 91 / 20%);
  outline-offset: 3px;
}

.reviews__item[hidden],
.akiwa-review-status {
  display: none !important;
}

@media (min-width: 1024px) {
  .fancybox__container .nm-callback .form:has(.akiwa-marketing-consent) {
    gap: 50px;
    padding-top: 49px;
    padding-bottom: 49px;
  }

  .fancybox__container .nm-callback .form__bottom:has(.akiwa-marketing-consent) {
    gap: 10px;
  }
}

.akiwa-floating-contact {
  position: fixed;
  z-index: 9000;
  right: 24px;
  bottom: 112px;
  display: grid;
  width: 64px;
  height: 64px;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: #fff;
  background: #e52e5b;
  box-shadow: 0 12px 32px rgb(229 46 91 / 28%);
  cursor: pointer;
}

.akiwa-floating-contact img {
  width: 31px;
  height: 31px;
  filter: brightness(0) invert(1);
}

.akiwa-floating-contact:hover,
.akiwa-floating-contact:focus-visible {
  transform: scale(1.05);
}

@media (max-width: 767px) {
  .akiwa-floating-contact {
    right: 24px;
    bottom: 112px;
  }
}

.akiwa-form-message {
  position: fixed;
  z-index: 100000;
  left: 50%;
  bottom: 24px;
  width: min(560px, calc(100vw - 32px));
  transform: translateX(-50%);
  border-radius: 18px;
  padding: 18px 22px;
  color: #fff;
  background: #16151b;
  box-shadow: 0 20px 60px rgb(0 0 0 / 30%);
  font: 500 15px/1.45 Montserrat, Arial, sans-serif;
}

.akiwa-form-message button {
  float: right;
  margin: -4px -4px 0 14px;
  border: 0;
  color: #fff;
  background: transparent;
  font-size: 24px;
  cursor: pointer;
}

.akiwa-blog-results {
  margin: 18px 0 0;
  color: #6f6973;
  font: 500 14px/1.45 Montserrat, Arial, sans-serif;
}

.n-blog-element__item img {
  object-fit: cover;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
