/* AstraVortex product page — isolated phone layout.
   Loaded after product-page-v3.css so it can neutralize accumulated desktop overrides. */

.dynamic-product-mobile-flow {
  display: none;
}

@media (max-width: 800px) {
  html,
  body,
  body[data-slug="assets/product"],
  body.av-product-mobile-layout {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  body.av-product-mobile-layout #quartz-root.page,
  body.av-product-mobile-layout #quartz-root.page > #quartz-body,
  body.av-product-mobile-layout #quartz-root.page > #quartz-body > .center,
  body.av-product-mobile-layout #quartz-root.page > #quartz-body > .center > article,
  body.av-product-mobile-layout [data-product-detail],
  body.av-product-mobile-layout .dynamic-product-detail {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  body.av-product-mobile-layout #quartz-root.page > #quartz-body {
    display: block !important;
    padding: 0 !important;
  }

  body.av-product-mobile-layout #quartz-root.page > #quartz-body > .sidebar.right {
    display: none !important;
  }

  /* Compact top bar: keep brand readable and make Search an icon-sized control. */
  body.av-product-mobile-layout #quartz-root.page > #quartz-body > .sidebar.left {
    position: sticky !important;
    z-index: 1000 !important;
    top: 0 !important;
    left: auto !important;
    right: auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.45rem !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 3.45rem !important;
    margin: 0 !important;
    padding:
      max(0.45rem, env(safe-area-inset-top))
      max(0.65rem, env(safe-area-inset-right))
      0.45rem
      max(0.65rem, env(safe-area-inset-left)) !important;
    overflow: visible !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    background: rgba(13, 14, 18, 0.82) !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.24) !important;
    backdrop-filter: blur(18px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(112%) !important;
  }

  body.av-product-mobile-layout .sidebar.left .page-title {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  body.av-product-mobile-layout .sidebar.left .page-title a {
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    font-size: clamp(1.08rem, 5vw, 1.35rem) !important;
    line-height: 1.1 !important;
  }

  body.av-product-mobile-layout .sidebar.left .page-title img {
    width: auto !important;
    max-width: min(42vw, 166px) !important;
    height: 1.75rem !important;
    max-height: 1.75rem !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  body.av-product-mobile-layout .sidebar.left .search {
    flex: 0 0 2.45rem !important;
    width: 2.45rem !important;
    min-width: 2.45rem !important;
    max-width: 2.45rem !important;
    margin: 0 !important;
  }

  body.av-product-mobile-layout .sidebar.left .search > button,
  body.av-product-mobile-layout .sidebar.left .search .search-button {
    display: grid !important;
    place-items: center !important;
    width: 2.45rem !important;
    min-width: 2.45rem !important;
    height: 2.45rem !important;
    min-height: 2.45rem !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 9px !important;
  }

  body.av-product-mobile-layout .sidebar.left .search .search-button > p,
  body.av-product-mobile-layout .sidebar.left .search .search-button > span:not(.search-icon),
  body.av-product-mobile-layout .sidebar.left .search .search-button kbd {
    display: none !important;
  }

  body.av-product-mobile-layout .sidebar.left .darkmode,
  body.av-product-mobile-layout .sidebar.left .readermode,
  body.av-product-mobile-layout .sidebar.left .explorer {
    flex: 0 0 auto !important;
    margin: 0 !important;
  }

  body.av-product-mobile-layout .av-custom-solution-card,
  body.av-product-mobile-layout .av-sidebar-socials {
    display: none !important;
  }

  body.av-product-mobile-layout #quartz-root.page > #quartz-body > .center {
    padding:
      0
      max(0.75rem, env(safe-area-inset-right))
      calc(2.5rem + env(safe-area-inset-bottom))
      max(0.75rem, env(safe-area-inset-left)) !important;
  }

  body.av-product-mobile-layout #quartz-root.page > #quartz-body > .center > article {
    padding: 0.75rem 0 0 !important;
  }

  body.av-product-mobile-layout .dynamic-product-detail {
    display: block !important;
    position: static !important;
    inset: auto !important;
    transform: none !important;
    padding: 0 !important;
  }

  body.av-product-mobile-layout .dynamic-product-breadcrumbs {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 0.38rem !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 0 0.72rem !important;
    padding: 0 !important;
    overflow: hidden !important;
    font-size: 0.72rem !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
  }

  body.av-product-mobile-layout .dynamic-product-breadcrumb-home {
    display: grid !important;
    place-items: center !important;
    flex: 0 0 2.05rem !important;
    width: 2.05rem !important;
    min-width: 2.05rem !important;
    max-width: 2.05rem !important;
    height: 2.05rem !important;
    min-height: 2.05rem !important;
    max-height: 2.05rem !important;
    margin: 0 !important;
    padding: 0.46rem !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
  }

  body.av-product-mobile-layout .dynamic-product-breadcrumb-home svg {
    display: block !important;
    width: 1rem !important;
    height: 1rem !important;
  }

  body.av-product-mobile-layout .dynamic-product-breadcrumbs > [aria-current="page"] {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.av-product-mobile-layout .dynamic-product-header {
    position: static !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 0 0.8rem !important;
    padding: 0 !important;
    transform: none !important;
  }

  body.av-product-mobile-layout .dynamic-product-title-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.52rem !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  body.av-product-mobile-layout .dynamic-product-title {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 0 0.04em !important;
    font-size: clamp(1.72rem, 8vw, 2.15rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.035em !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
  }

  body.av-product-mobile-layout .dynamic-product-engine-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.42rem !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 2rem !important;
    margin: 0 !important;
    padding: 0.34rem 0.62rem 0.34rem 0.42rem !important;
    border-radius: 8px !important;
    font-size: 0.75rem !important;
  }

  body.av-product-mobile-layout .dynamic-product-engine-logo {
    flex: 0 0 1.2rem !important;
    width: 1.2rem !important;
    height: 1.2rem !important;
  }

  body.av-product-mobile-layout .dynamic-product-meta-row {
    display: block !important;
    width: 100% !important;
    margin: 0.52rem 0 0 !important;
  }

  body.av-product-mobile-layout .dynamic-product-subtitle {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    font-size: 0.86rem !important;
    line-height: 1.48 !important;
  }

  /* JS moves the real blocks into this flow. This prevents inherited grid heights
     from creating the large blank area visible on Android. */
  body.av-product-mobile-layout .dynamic-product-shell[hidden] {
    display: none !important;
  }

  body.av-product-mobile-layout .dynamic-product-mobile-flow {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.9rem !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
  }

  body.av-product-mobile-layout .dynamic-product-mobile-flow > * {
    flex: 0 0 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    position: static !important;
    inset: auto !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  body.av-product-mobile-layout .dynamic-product-gallery {
    margin: 0 !important;
    padding: 0 !important;
  }

  body.av-product-mobile-layout .dynamic-product-primary-stage {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 10px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.24) !important;
  }

  body.av-product-mobile-layout .dynamic-product-primary-media,
  body.av-product-mobile-layout .dynamic-product-primary-media > img,
  body.av-product-mobile-layout .dynamic-product-primary-media > video,
  body.av-product-mobile-layout .dynamic-product-primary-media > iframe,
  body.av-product-mobile-layout .dynamic-product-primary-media > .dynamic-product-youtube-frame {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    object-fit: cover !important;
  }

  body.av-product-mobile-layout .dynamic-product-gallery-counter {
    top: 0.5rem !important;
    left: 0.5rem !important;
    padding: 0.3rem 0.46rem !important;
    font-size: 0.68rem !important;
  }

  body.av-product-mobile-layout .dynamic-product-gallery-open {
    top: 0.5rem !important;
    right: 0.5rem !important;
    width: 2.1rem !important;
    min-width: 2.1rem !important;
    height: 2.1rem !important;
    min-height: 2.1rem !important;
    padding: 0 !important;
  }

  body.av-product-mobile-layout .dynamic-product-gallery-open span {
    display: none !important;
  }

  body.av-product-mobile-layout .dynamic-product-gallery-arrow {
    width: 2.35rem !important;
    min-width: 2.35rem !important;
    height: 2.35rem !important;
    min-height: 2.35rem !important;
  }

  body.av-product-mobile-layout .dynamic-product-gallery-prev {
    left: 0.48rem !important;
  }

  body.av-product-mobile-layout .dynamic-product-gallery-next {
    right: 0.48rem !important;
  }

  body.av-product-mobile-layout .dynamic-product-thumbs {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(92px, 30vw) !important;
    gap: 0.48rem !important;
    width: 100% !important;
    margin: 0.5rem 0 0 !important;
    padding: 0 0 0.15rem !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }

  body.av-product-mobile-layout .dynamic-product-thumbs::-webkit-scrollbar {
    display: none !important;
  }

  body.av-product-mobile-layout .dynamic-product-media-thumb {
    aspect-ratio: 16 / 9 !important;
    scroll-snap-align: start !important;
  }

  body.av-product-mobile-layout .dynamic-product-info {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.65rem !important;
    position: static !important;
    top: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  body.av-product-mobile-layout .dynamic-purchase-card,
  body.av-product-mobile-layout .dynamic-fab-purchase {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  body.av-product-mobile-layout .dynamic-purchase-card {
    padding: 0.9rem !important;
    border-radius: 11px !important;
  }

  body.av-product-mobile-layout .dynamic-purchase-heading {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.6rem !important;
  }

  body.av-product-mobile-layout .dynamic-purchase-heading h2 {
    margin: 0 !important;
    font-size: 1rem !important;
  }

  body.av-product-mobile-layout .dynamic-secure-checkout {
    font-size: 0.62rem !important;
    white-space: nowrap !important;
  }

  body.av-product-mobile-layout .dynamic-license-card {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    gap: 0.55rem !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 0.72rem !important;
  }

  body.av-product-mobile-layout .dynamic-license-copy,
  body.av-product-mobile-layout .dynamic-license-heading {
    min-width: 0 !important;
    width: 100% !important;
  }

  body.av-product-mobile-layout .dynamic-license-heading {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) max-content !important;
    align-items: baseline !important;
    gap: 0.45rem !important;
  }

  body.av-product-mobile-layout .dynamic-license-heading strong {
    min-width: 0 !important;
    font-size: 0.82rem !important;
    line-height: 1.28 !important;
  }

  body.av-product-mobile-layout .dynamic-license-price {
    justify-self: end !important;
    font-size: 0.84rem !important;
    white-space: nowrap !important;
  }

  body.av-product-mobile-layout .dynamic-license-copy small {
    font-size: 0.66rem !important;
    line-height: 1.38 !important;
  }

  body.av-product-mobile-layout .dynamic-checkout-button {
    width: 100% !important;
    min-height: 2.8rem !important;
    margin-top: 0.75rem !important;
    border-radius: 9px !important;
    font-size: 0.82rem !important;
  }

  body.av-product-mobile-layout .dynamic-payment-methods {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.av-product-mobile-layout .dynamic-product-overview {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1rem !important;
    margin: 0 !important;
    padding: 0.25rem 0 0 !important;
    border-top: 0 !important;
  }

  body.av-product-mobile-layout .dynamic-product-section,
  body.av-product-mobile-layout .dynamic-product-technical {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  body.av-product-mobile-layout .dynamic-before-after-viewport {
    width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
  }

  body.av-product-mobile-layout .dynamic-product-technical dl {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.av-product-mobile-layout .dynamic-product-documentation {
    width: 100% !important;
    max-width: 100% !important;
    margin: 1.1rem 0 0 !important;
    padding: 1rem 0 0 !important;
    overflow: hidden !important;
  }

  body.av-product-mobile-layout .dynamic-product-documentation img,
  body.av-product-mobile-layout .dynamic-product-documentation video,
  body.av-product-mobile-layout .dynamic-product-documentation iframe,
  body.av-product-mobile-layout .dynamic-product-documentation table {
    max-width: 100% !important;
  }
}

@media (max-width: 380px) {
  body.av-product-mobile-layout .dynamic-product-title {
    font-size: 1.58rem !important;
  }

  body.av-product-mobile-layout .dynamic-license-heading {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.av-product-mobile-layout .dynamic-license-price {
    justify-self: start !important;
  }

  body.av-product-mobile-layout .dynamic-payment-methods {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
