html,
body,
#root {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

body {
  overscroll-behavior-x: none;
}

#wallet-connect-modal {
  display: none !important;
}

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

.LandingPage_page__Py6p3,
.LandingPage_main__b5hGS,
.shared_snapSection__WhiUd {
  max-width: 100%;
  overflow-x: hidden;
}

.shared_container__HLW1U {
  box-sizing: border-box;
  width: min(100%, 1280px);
  padding-left: clamp(16px, 5vw, 80px);
  padding-right: clamp(16px, 5vw, 80px);
  padding: 24px 0;
}

@media (min-width: 1025px) {
  #faq.shared_snapSection__WhiUd {
    box-sizing: border-box;
    padding-top: 80px;
  }
}

#wallet-step-setup .iss-wallet-hero {
  margin-top: 14px;
}

#issue-request-button[aria-busy="true"],
#issue-request-button[data-wc-busy="1"],
#connect-button[aria-busy="true"],
#connect-button[data-wc-busy="1"] {
  opacity: 0.72;
  cursor: wait;
}

@media (max-width: 1024px) {
  .shared_snapSection__WhiUd {
    min-height: auto;
    align-items: flex-start;
    padding-top: 56px;
    padding-bottom: 56px;
  }

  #home.shared_snapSection__WhiUd {
    padding-top: 84px;
  }
}

@media (max-width: 640px) {
  .shared_container__HLW1U {
    padding-left: 16px;
    padding-right: 16px;
  }

  .HeroSection_heroInner__GEF1J {
    padding-top: 0;
  }

  .HeroSection_heroInner__GEF1J>div,
  .tw-hero-container {
    width: 100%;
    max-width: 100%;
    gap: 26px !important;
  }

  .HeroSection_title__uuKVE {
    max-width: 100%;
    overflow-wrap: anywhere;
    font-size: clamp(34px, 11vw, 48px);
    line-height: 1.04;
  }

  .HeroSection_description__C_8AB,
  .tw-hero-desc {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  .HeroSection_actions___d9Iz,
  .tw-hero-payments,
  .tw-hero-payments__logos {
    max-width: 100%;
  }

  .tw-hero-video,
  .HeroSection_media__aqBSh img {
    width: min(100%, 340px);
    height: auto;
  }

  .tw-wallet-modal.iss-modal {
    padding: 12px;
  }

  .tw-wallet-modal .iss-panel {
    width: min(100%, 430px);
    max-height: calc(100dvh - 24px);
    overflow-y: auto;
  }

  .iss-stages {
    gap: 4px;
  }

  .iss-stages__item {
    min-width: 0;
    padding: 7px 6px;
    font-size: 10px;
  }

  .iss-connect-desc {
    font-size: 13px;
  }
}

@media (max-width: 380px) {
  .shared_container__HLW1U {
    padding-left: 14px;
    padding-right: 14px;
  }

  .iss-stages__item span:last-child {
    display: none;
  }

  .iss-stages__item.is-active span:last-child {
    display: inline;
  }
}


@media (max-width: 768px) {
  .MobileBottomNav_dock__yxhYi {
    left: 12px !important;
    right: 12px !important;
    bottom: max(12px, env(safe-area-inset-bottom)) !important;
    width: auto !important;
    max-width: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px !important;
    border-radius: 999px !important;
    box-sizing: border-box !important;
  }

  .MobileBottomNav_nav__rPgXE {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .MobileBottomNav_nav__rPgXE>a,
  .MobileBottomNav_nav__rPgXE>button {
    min-width: 0 !important;
    width: 100% !important;
    justify-content: center !important;
    white-space: nowrap !important;
  }

  .app-mobile-nav-hidden,
  .MobileBottomNav_nav__rPgXE>[hidden],
  .MobileBottomNav_support__PMoPg {
    display: none !important;
  }

  .app-mobile-nav-active {
    opacity: 1 !important;
    transform: none !important;
  }

  body {
    padding-bottom: calc(86px + env(safe-area-inset-bottom)) !important;
    overflow-x: hidden !important;
  }
}


/* Wallet modal perks: 2-column mobile grid */
@media (max-width: 768px) {
  #wallet-connect-modal .iss-perks {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 12px 0 14px !important;
    padding: 0 !important;
    list-style: none !important;
  }

  #wallet-connect-modal .iss-perks>li {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    min-width: 0 !important;
    min-height: 0px !important;
    margin: 0 !important;
    padding: 10px 9px !important;
    border-radius: 14px !important;
    box-sizing: border-box !important;
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
  }

  #wallet-connect-modal .iss-perks>li strong {
    display: block !important;
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.18 !important;
    font-weight: 700 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  #wallet-connect-modal .iss-perks>li small {
    display: block !important;
    margin: 0 !important;
    font-size: 10.5px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }
}


.LandingPage_page__Py6p3 .HeroSection_media__aqBSh>.tw-hero-float-wrap {
  width: min(100%, 560px);
  max-width: 100%;
}

.LandingPage_page__Py6p3 .HeroSection_media__aqBSh>.tw-hero-float-wrap img.tw-hero-video {
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

@media (max-width: 1024px) {
  .LandingPage_page__Py6p3 .HeroSection_media__aqBSh>.tw-hero-float-wrap {
    width: min(80%, 480px);
  }
}

@media (max-width: 640px) {
  .LandingPage_page__Py6p3 .HeroSection_media__aqBSh>.tw-hero-float-wrap {
    width: min(100%, 360px);
  }
}

/* Hero worldwide-delivery banner */
.tw-hero-delivery-banner {
  width: 100%;
  max-width: 420px;
  margin: 0 0 18px;
}

.tw-hero-delivery-banner img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 1024px) {
  .tw-hero-delivery-banner {
    width: min(100%, 680px);
    margin-right: auto;
    margin-left: auto;
  }
}

@media (max-width: 640px) {
  .tw-hero-delivery-banner {
    margin-bottom: 16px;
  }
}

/* Worldwide-delivery banner on /cards */
.cards-delivery-banner {
  width: 100%;
  margin: 0 0 14px;
}

.cards-delivery-banner img {
  display: block;
  width: 100%;
  height: auto;
}
