/* Bot-Seller: iPhone / iOS Safari compatibility layer */
:root {
  --bs-safe-top: env(safe-area-inset-top, 0px);
  --bs-safe-right: env(safe-area-inset-right, 0px);
  --bs-safe-bottom: env(safe-area-inset-bottom, 0px);
  --bs-safe-left: env(safe-area-inset-left, 0px);
  --bs-visual-height: 100vh;
  --bs-cookie-height: 0px;
}

@supports (height: 100dvh) {
  :root { --bs-visual-height: 100dvh; }
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  max-width: 100%;
}

body {
  min-width: 320px;
  max-width: 100%;
  overflow-x: hidden;
}

@supports (overflow: clip) {
  html,
  body { overflow-x: clip; }
}

img,
picture,
video,
canvas,
svg { max-width: 100%; }

button,
a,
input,
select,
textarea,
[role="button"] {
  -webkit-tap-highlight-color: transparent;
}

button,
a,
[role="button"] { touch-action: manipulation; }


main,
section,
article,
header,
footer,
nav,
#root,
#root > * { min-width: 0; }

section[id] {
  scroll-margin-top: calc(86px + var(--bs-safe-top));
}

.legal-card,
.legal-card p,
.legal-card li,
.legal-card a,
.document-contact,
.footer-bottom,
.footer-contact,
.footer-link {
  overflow-wrap: anywhere;
  word-break: normal;
}

@media (max-width: 767px), (max-width: 932px) and (orientation: landscape) {
  /* Prevent Safari from zooming the page when a form control receives focus. */
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="submit"]):not([type="button"]),
  select,
  textarea,
  .bs-demo-modal-current form input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  [data-bs-form-drawer-panel] form input:not([type="checkbox"]):not([type="radio"]):not([type="range"]) {
    font-size: 16px !important;
    line-height: 1.25 !important;
  }

  input,
  select,
  textarea { max-width: 100%; }

  html.bs-ios body { min-height: var(--bs-visual-height); }

  html.bs-ios body > #root header,
  html.bs-ios .site-header {
    padding-top: var(--bs-safe-top) !important;
  }

  html.bs-ios [data-hero-unified] {
    min-height: auto !important;
    padding-top: calc(5.6rem + var(--bs-safe-top)) !important;
  }

  html.bs-ios .legal-hero {
    padding-top: calc(var(--header-h, 68px) + var(--bs-safe-top) + 44px) !important;
  }

  html.bs-ios .site-footer {
    padding-left: max(18px, var(--bs-safe-left)) !important;
    padding-right: max(18px, var(--bs-safe-right)) !important;
  }

  html.bs-ios footer {
    padding-bottom: max(20px, calc(var(--bs-safe-bottom) + 12px)) !important;
  }

  html.bs-ios .page {
    min-height: var(--bs-visual-height) !important;
    padding-top: max(18px, calc(var(--bs-safe-top) + 12px)) !important;
    padding-right: max(12px, var(--bs-safe-right)) !important;
    padding-bottom: max(82px, calc(var(--bs-safe-bottom) + 28px)) !important;
    padding-left: max(12px, var(--bs-safe-left)) !important;
  }

  /* Bottom sheet / application form: respect the visible viewport and keyboard. */
  html.bs-ios div.fixed.inset-0.z-50.bg-black.bg-opacity-50.backdrop-blur-sm,
  html.bs-ios [data-bs-form-drawer-overlay] {
    width: 100vw !important;
    height: var(--bs-visual-height) !important;
    max-height: var(--bs-visual-height) !important;
    padding-top: var(--bs-safe-top) !important;
    padding-right: var(--bs-safe-right) !important;
    padding-bottom: var(--bs-safe-bottom) !important;
    padding-left: var(--bs-safe-left) !important;
    overscroll-behavior: none !important;
  }

  html.bs-ios div.fixed.inset-0.z-50.bg-black.bg-opacity-50.backdrop-blur-sm > div.bg-white.rounded-2xl.max-w-2xl.w-full,
  html.bs-ios [data-bs-form-drawer-panel],
  html.bs-ios .bs-demo-modal-current {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: auto !important;
    max-height: calc(var(--bs-visual-height) - var(--bs-safe-top) - var(--bs-safe-bottom)) !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border-radius: 22px 22px 0 0 !important;
  }

  html.bs-ios .bs-demo-modal-current-header {
    flex: 0 0 auto !important;
    padding-top: 12px !important;
    padding-right: max(13px, var(--bs-safe-right)) !important;
    padding-left: max(13px, var(--bs-safe-left)) !important;
  }

  html.bs-ios .bs-demo-modal-current form,
  html.bs-ios [data-bs-form-drawer-panel] form {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain !important;
    padding-right: max(12px, var(--bs-safe-right)) !important;
    padding-bottom: max(12px, calc(var(--bs-safe-bottom) + 10px)) !important;
    padding-left: max(12px, var(--bs-safe-left)) !important;
  }

  html.bs-ios .bs-demo-modal-current form input:not([type="checkbox"]):not([type="radio"]),
  html.bs-ios .bs-demo-modal-current form select,
  html.bs-ios [data-bs-form-drawer-panel] form input:not([type="checkbox"]):not([type="radio"]),
  html.bs-ios [data-bs-form-drawer-panel] form select {
    min-height: 42px !important;
    padding-top: 9px !important;
    padding-bottom: 9px !important;
  }

  html.bs-ios body.bs-modal-open {
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  html.bs-ios body.bs-modal-open .bs-messenger-widget,
  html.bs-ios body.bs-modal-open .cookie-consent {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /* Keep fixed controls out of the Home-indicator zone. */
  html.bs-ios .bs-messenger-widget {
    right: max(14px, calc(var(--bs-safe-right) + 8px)) !important;
    bottom: calc(max(14px, var(--bs-safe-bottom)) + var(--bs-cookie-height) + 8px) !important;
    transition: bottom .25s ease, opacity .2s ease !important;
  }

  html.bs-ios .cookie-consent {
    left: 50% !important;
    bottom: max(10px, calc(var(--bs-safe-bottom) + 8px)) !important;
    width: calc(100% - max(20px, var(--bs-safe-left)) - max(20px, var(--bs-safe-right))) !important;
    max-height: calc(var(--bs-visual-height) - var(--bs-safe-top) - var(--bs-safe-bottom) - 20px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .roi-range { touch-action: pan-x; }

  table {
    max-width: 100%;
  }
}

@media (max-width: 430px) {
  html.bs-ios .cookie-consent__button {
    min-height: 40px !important;
    font-size: 12px !important;
  }
}

@media (max-width: 932px) and (orientation: landscape) and (max-height: 500px) {
  html.bs-ios [data-hero-unified] {
    padding-top: calc(4.9rem + var(--bs-safe-top)) !important;
    padding-bottom: 2rem !important;
  }

  html.bs-ios div.fixed.inset-0.z-50.bg-black.bg-opacity-50.backdrop-blur-sm > div.bg-white.rounded-2xl.max-w-2xl.w-full,
  html.bs-ios [data-bs-form-drawer-panel],
  html.bs-ios .bs-demo-modal-current {
    border-radius: 16px !important;
  }

  html.bs-ios .bs-demo-modal-current-header {
    padding-top: 9px !important;
    padding-bottom: 9px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.bs-ios .bs-messenger-widget { transition: none !important; }
}
