
/* V34
   Fixes overlap on both desktop and mobile:
   - removes original baked-in download buttons from hero art
   - keeps only the floating buttons
   - reduces button size and increases vertical separation
*/

.promo-picture {
  display: block;
  width: 100%;
  height: 100%;
}

.promo-banner {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Desktop / tablet */
@media (min-width: 761px) {
  .banner-frame.interactive-banner {
    position: relative !important;
    overflow: hidden !important;
  }

  .v31-download {
    position: absolute !important;
    z-index: 20 !important;
    display: block !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    height: auto !important;
    animation: v34Float 1.4s ease-in-out infinite !important;
  }

  .v31-download.ios-hotspot {
    left: 13.7% !important;
    top: 50.0% !important;
    width: 30.5% !important;
  }

  .v31-download.android-hotspot {
    left: 13.7% !important;
    top: 63.0% !important;
    width: 30.5% !important;
    animation-delay: .16s !important;
  }

  .v31-download img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    border-radius: 12px !important;
    box-shadow:
      0 0 0 2px rgba(255,255,255,.96),
      0 0 0 4px rgba(45,133,255,.62),
      0 8px 20px rgba(1,54,124,.24) !important;
  }

  .v31-tip {
    right: -10px !important;
    font-size: 11px !important;
    padding: 6px 9px !important;
  }
}

/* Mobile */
@media (max-width: 760px) {
  .header { background: rgba(248,250,253,.98) !important; }

  .nav.shell {
    width: calc(100% - 20px) !important;
    height: 66px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
  }

  .brand {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    min-width: 0 !important;
  }

  .brand img {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: contain !important;
    border-radius: 13px !important;
  }

  .brand strong { font-size: 14px !important; line-height: 1.1 !important; white-space: nowrap !important; }
  .brand span { font-size: 9px !important; line-height: 1.1 !important; white-space: nowrap !important; }

  .nav-links {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-left: auto !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 9px !important;
    width: auto !important;
  }

  .nav-links a {
    display: inline-block !important;
    font-size: 9px !important;
    line-height: 1 !important;
    padding: 7px 0 !important;
    color: #536176 !important;
    white-space: nowrap !important;
  }

  .banner-hero.shell {
    width: calc(100% - 12px) !important;
    margin-top: 10px !important;
  }

  .banner-frame.interactive-banner {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 1.22 / 1 !important;
    height: auto !important;
    overflow: hidden !important;
    border-radius: 18px !important;
    background: #0875d7 !important;
  }

  .promo-picture,
  .promo-banner {
    width: 100% !important;
    height: 100% !important;
  }

  .promo-banner {
    object-fit: cover !important;
    object-position: 50% 0 !important;
    transform: none !important;
  }

  .v31-download {
    position: absolute !important;
    z-index: 20 !important;
    display: block !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    height: auto !important;
    animation: v34Float 1.35s ease-in-out infinite !important;
  }

  /* smaller than V33 and farther apart */
  .v31-download.ios-hotspot {
    left: 13.8% !important;
    top: 47.5% !important;
    width: 35.5% !important;
  }

  .v31-download.android-hotspot {
    left: 13.8% !important;
    top: 64.5% !important;
    width: 35.5% !important;
    animation-delay: .16s !important;
  }

  .v31-download img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    border-radius: 9px !important;
    box-shadow:
      0 0 0 2px rgba(255,255,255,.98),
      0 0 0 4px rgba(45,133,255,.68),
      0 7px 18px rgba(1,54,124,.25) !important;
  }

  .v31-download::before,
  .v31-download::after,
  .v31-download .hotspot-face,
  .v31-download .hotspot-glow {
    display: none !important;
    content: none !important;
  }

  .v31-tip {
    position: absolute !important;
    right: -8px !important;
    top: 50% !important;
    transform: translate(100%,-50%) !important;
    display: block !important;
    padding: 4px 6px !important;
    border-radius: 999px !important;
    background: #ff4d3f !important;
    color: #fff !important;
    font-size: 7px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 390px) {
  .v31-download.ios-hotspot {
    left: 13.5% !important;
    top: 47.0% !important;
    width: 35.0% !important;
  }

  .v31-download.android-hotspot {
    left: 13.5% !important;
    top: 65.0% !important;
    width: 35.0% !important;
  }

  .v31-tip {
    font-size: 6.2px !important;
    padding: 3px 5px !important;
  }
}

@keyframes v34Float {
  0%,100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-2px) scale(1.015); }
}
