html {
  scroll-behavior: smooth;
}

body {
  color: var(--vs360-color-text);
  font-family: var(--vs360-font-sans);
}

/* Reserve the asynchronous financing banner's final height to prevent page jumps. */
addi-home-banner {
  display: block;
  min-block-size: 40px;
}

/* Accessible contrast for the cookie manager footer rendered outside the theme. */
.argpd-footer a {
  color: #dedee4 !important;
}

.cookies-eu-reject,
.cookies-eu-accept {
  background-color: #005fbd !important;
  color: #fff !important;
}

@media (max-width: 47.9375rem) {
  addi-home-banner {
    min-block-size: 44px;
  }
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--vs360-color-discount);
  outline-offset: 3px;
}

:where(button, input[type="button"], input[type="reset"], input[type="submit"], .button, .wp-element-button) {
  min-block-size: 44px;
  min-inline-size: 44px;
}

img,
svg,
video {
  block-size: auto;
  max-inline-size: 100%;
}

.vs360-container {
  inline-size: min(100% - (2 * var(--vs360-space-4)), var(--vs360-container-lg));
  margin-inline: auto;
}

.vs360-screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  block-size: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  inline-size: 1px;
  white-space: nowrap;
}

.vs360-screen-reader-text:focus {
  clip: auto;
  clip-path: none;
  block-size: auto;
  inline-size: auto;
  margin: var(--vs360-space-2);
  padding: var(--vs360-space-3) var(--vs360-space-4);
  z-index: 100000;
}
