/* Global mobile overrides for QuoiVoir pages */

/* ============================================
   900px - Tablet / mobile
   ============================================ */
@media (max-width: 900px) {
  :root {
    --card-width: 158px;
    --card-width-hover: 158px;
    --poster-height: 228px;
  }

  html, body {
    overflow-x: hidden;
  }

  /* --- Ancienne navbar (pages sans sidebar unifiee) --- */
  .navbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000;
  }

  /* Sur les pages sidebar, l'ancienne navbar est redondante : on la cache */
  .qv-sidebar-page .navbar {
    display: none !important;
  }

  .navbar-inner {
    width: 100% !important;
    padding: 10px 14px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px 6px !important;
    align-items: center !important;
  }

  .brand {
    flex: 0 0 auto !important;
  }

  .nav-links {
    width: 100% !important;
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
  }

  .nav-link {
    font-size: 0.82rem !important;
    padding: 6px 10px !important;
  }

  .nav-balance {
    display: none !important;
  }

  /* --- Sidebar unifiee : bandeau horizontal sticky --- */
  .qv-unified-sidebar {
    position: sticky !important;
    top: 0 !important;
    z-index: 200 !important;
    flex-direction: row !important;
    align-items: center !important;
    height: auto !important;
    max-height: none !important;
    padding: 7px 14px !important;
    gap: 10px !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    backdrop-filter: blur(16px) !important;
    overflow: visible !important;
  }

  /* Logo seul, sans texte */
  .qv-unified-brand span {
    display: none !important;
  }

  .qv-unified-brand img {
    width: 28px !important;
    height: 28px !important;
  }

  /* Nav : flex horizontal scrollable */
  .qv-unified-nav,
  .qv-menu {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    gap: 3px !important;
    flex: 1 !important;
    min-width: 0 !important;
    align-items: center !important;
    padding: 2px 0 !important;
    grid-template-columns: none !important;
  }

  .qv-unified-nav::-webkit-scrollbar,
  .qv-menu::-webkit-scrollbar {
    display: none !important;
  }

  .qv-unified-nav a,
  .qv-menu a {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    min-height: 34px !important;
    padding: 0 11px !important;
    font-size: 0.82rem !important;
    border-radius: 8px !important;
  }

  /* Cacher les icones unicode dans la nav : les labels suffisent sur mobile */
  .qv-unified-nav a span,
  .qv-menu a span {
    display: none !important;
  }

  /* Menu Politiques : deja present dans le footer, inutile dans la nav mobile */
  .qv-nav-legal {
    display: none !important;
  }

  /* Slot compte : masque dans la sidebar sur mobile pour economiser la place */
  .qv-unified-sidebar .qv-auth-slot {
    display: none !important;
  }

  /* --- Grilles et cartes films --- */
  .container,
  main.container,
  .main {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .grid,
  #list,
  #recoList {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .card,
  .movie-card,
  .reco-card,
  .taste-card {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .poster,
  .reco-poster-wrap,
  .movie-poster,
  .taste-poster {
    aspect-ratio: 2 / 3 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
  }

  .poster img,
  .reco-poster-wrap img,
  .movie-poster img,
  .taste-poster img,
  .quiz-modern-poster img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .movie-panel-similar {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  #moviePanel {
    align-items: flex-start !important;
    padding: 8px !important;
  }

  #moviePanelInner {
    width: min(420px, 96vw) !important;
    max-height: calc(100dvh - 16px) !important;
  }

  #moviePanelMedia:has(> img) {
    aspect-ratio: auto !important;
    min-height: 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 10px 0 0 !important;
    background: transparent !important;
  }

  #moviePanelMedia > img {
    width: min(42vw, 168px) !important;
    height: auto !important;
    max-height: 38dvh !important;
    object-fit: contain !important;
    border-radius: 10px !important;
  }

  #moviePanelMedia > iframe,
  #moviePanelMedia > video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .movie-panel-similar-item {
    min-width: 0 !important;
    padding: 4px !important;
  }

  .movie-panel-similar-item img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 2 / 3 !important;
    object-fit: cover !important;
  }

  body.qv-page-mini-jeux .games-grid {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(282px, 82vw) !important;
    grid-template-columns: none !important;
    gap: 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 4px 4px 14px !important;
    margin-top: 22px !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  body.qv-page-mini-jeux .games-grid::-webkit-scrollbar {
    display: none !important;
  }

  body.qv-page-mini-jeux .game-card {
    width: 100% !important;
    min-height: 0 !important;
    scroll-snap-align: start !important;
  }
}

/* ============================================
   860px - Zone grise hero index.html
   Le panel "raisons" deborde sur le texte entre 760 et 860px
   ============================================ */
@media (max-width: 860px) {
  .qv-hero {
    min-height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: visible !important;
  }

  .qv-hero-copy {
    width: 100% !important;
    padding: 24px 18px 18px !important;
  }

  .qv-hero h1 {
    font-size: clamp(1.9rem, 8vw, 3rem) !important;
    line-height: 1.05 !important;
  }

  .qv-hero-score,
  .qv-hero-reasons {
    position: relative !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: auto !important;
    margin: 0 16px 16px !important;
    border-radius: 16px !important;
  }

  .qv-hero-reasons {
    padding: 18px !important;
  }

  .qv-hero-taste-actions {
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    width: auto !important;
    margin: 0 16px 16px !important;
    grid-template-columns: 1fr !important;
  }
}

/* ============================================
   760px - Mobile standard
   ============================================ */
@media (max-width: 760px) {
  body.layout-quiz-top:not(.qv-finder-mode) {
    background: #02060d !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode)::before {
    opacity: 0.2 !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) #qvHomeDashboard {
    display: block !important;
    max-width: none !important;
    padding: 0 !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-unified-sidebar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 420 !important;
    height: 92px !important;
    padding: 16px 18px 10px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    border: 0 !important;
    background: linear-gradient(180deg, rgba(2, 6, 13, 0.98), rgba(2, 6, 13, 0.86)) !important;
    backdrop-filter: none !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-unified-sidebar .qv-auth-slot {
    display: block !important;
    margin: 0 !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-unified-brand {
    display: flex !important;
    gap: 9px !important;
    font-size: 1.28rem !important;
    letter-spacing: -0.03em !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-unified-brand span {
    display: inline !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-unified-brand img {
    width: 38px !important;
    height: 38px !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-unified-nav {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    top: auto !important;
    bottom: max(10px, env(safe-area-inset-bottom)) !important;
    z-index: 430 !important;
    height: 78px !important;
    padding: 8px 10px !important;
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 4px !important;
    overflow: visible !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 18px !important;
    background: rgba(5, 10, 18, 0.92) !important;
    box-shadow: 0 -18px 46px rgba(0, 0, 0, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
    backdrop-filter: blur(18px) !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-unified-nav a {
    min-height: 58px !important;
    padding: 4px 2px !important;
    display: grid !important;
    place-items: center !important;
    gap: 4px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: transparent !important;
    color: #dfe4ef !important;
    font-size: 0.68rem !important;
    line-height: 1.1 !important;
    text-align: center !important;
    white-space: normal !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-unified-nav a span {
    display: block !important;
    width: auto !important;
    color: currentColor !important;
    font-size: 1.22rem !important;
    line-height: 1 !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-unified-nav a.active {
    color: #ff5a1f !important;
    font-weight: 900 !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-nav-legal {
    display: none !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-main {
    padding: 102px 10px 104px !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-topbar {
    position: fixed !important;
    top: 18px !important;
    right: 18px !important;
    z-index: 440 !important;
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-search,
  body.layout-quiz-top:not(.qv-finder-mode) .qv-topnav,
  body.layout-quiz-top:not(.qv-finder-mode) .qv-bell {
    display: none !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-account {
    display: flex !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-auth-slot :where(button, a) {
    min-height: 38px !important;
    padding: 0 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    border: 1px solid rgba(255, 90, 31, 0.55) !important;
    border-radius: 999px !important;
    background: rgba(5, 10, 18, 0.62) !important;
    color: #fff !important;
    font-size: 0.82rem !important;
    font-weight: 850 !important;
    text-decoration: none !important;
    box-shadow: 0 0 22px rgba(255, 90, 31, 0.12) !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-user-button {
    min-height: 38px !important;
    padding: 0 14px !important;
    border: 1px solid rgba(255, 90, 31, 0.55) !important;
    border-radius: 999px !important;
    background: rgba(5, 10, 18, 0.62) !important;
    box-shadow: 0 0 22px rgba(255, 90, 31, 0.12) !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-user-button b {
    display: inline !important;
    font-size: 0.82rem !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-user-button span {
    width: 24px !important;
    height: 24px !important;
    color: #ff5a1f !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-hero {
    min-height: 590px !important;
    display: block !important;
    overflow: visible !important;
    padding: 0 !important;
    border-radius: 18px !important;
    border-color: rgba(255, 90, 31, 0.42) !important;
    background: #060b14 !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-hero::after {
    background:
      linear-gradient(180deg, rgba(2, 6, 13, 0.18), rgba(2, 6, 13, 0.96) 58%, rgba(2, 6, 13, 0.98)),
      linear-gradient(90deg, rgba(2, 6, 13, 0.88), rgba(2, 6, 13, 0.2) 58%, rgba(2, 6, 13, 0.76)) !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-hero > img {
    height: 62% !important;
    object-position: center top !important;
    filter: saturate(1.1) contrast(1.08) brightness(0.84) !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-hero-copy {
    width: 100% !important;
    padding: 36px 16px 0 !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-badge {
    margin-bottom: 18px !important;
    padding: 8px 12px !important;
    font-size: 0.68rem !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-hero h1 {
    max-width: 68% !important;
    font-size: clamp(2.9rem, 17vw, 4.8rem) !important;
    line-height: 0.92 !important;
    letter-spacing: 0 !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-hero-genres {
    margin: 16px 0 12px !important;
    gap: 6px !important;
    font-size: 0.82rem !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-hero-desc {
    max-width: 100% !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    font-size: 0.9rem !important;
    line-height: 1.55 !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-hero-actions {
    margin-top: 16px !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .glow-button {
    min-height: 44px !important;
    padding: 0 16px !important;
    border-radius: 11px !important;
    font-size: 0.86rem !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-hero-reasons {
    position: absolute !important;
    top: 26px !important;
    right: 10px !important;
    bottom: auto !important;
    width: min(39%, 162px) !important;
    max-height: 286px !important;
    margin: 0 !important;
    padding: 12px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    background: rgba(7, 12, 22, 0.78) !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-hero-reasons h2 {
    margin-bottom: 8px !important;
    font-size: 0.84rem !important;
    line-height: 1.2 !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-hero-reasons ul {
    gap: 6px !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-hero-reasons li {
    min-height: 0 !important;
    padding: 8px 8px 8px 22px !important;
    border-radius: 10px !important;
    font-size: 0.68rem !important;
    line-height: 1.32 !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-hero-reasons li::before {
    left: 8px !important;
    top: 8px !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-hero-taste-actions {
    position: absolute !important;
    left: 10px !important;
    right: 10px !important;
    bottom: 10px !important;
    width: auto !important;
    padding: 0 !important;
    grid-template-columns: repeat(5, minmax(58px, 1fr)) !important;
    gap: 6px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-taste-button {
    min-height: 42px !important;
    padding: 0 4px !important;
    border-radius: 10px !important;
    font-size: 0.68rem !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-section {
    margin-top: 28px !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-section-head h2 {
    font-size: 1.05rem !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-carousel-btn {
    display: none !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-reco-carousel::before,
  body.layout-quiz-top:not(.qv-finder-mode) .qv-reco-carousel::after {
    display: none !important;
    content: none !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-movie-track {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: 112px !important;
    gap: 10px !important;
    overflow-x: auto !important;
    padding: 2px 2px 8px !important;
    scroll-snap-type: x proximity !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .movie-card.qv-card,
  body.layout-quiz-top:not(.qv-finder-mode) .reco-card,
  body.layout-quiz-top:not(.qv-finder-mode) .movie-card {
    width: 112px !important;
    min-height: 220px !important;
    border-radius: 10px !important;
    scroll-snap-align: start !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .movie-card.qv-card img {
    display: block !important;
    width: 100% !important;
    height: 162px !important;
    object-fit: cover !important;
    border-radius: 10px 10px 0 0 !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .movie-poster,
  body.layout-quiz-top:not(.qv-finder-mode) .reco-poster-wrap {
    height: 162px !important;
    aspect-ratio: auto !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .movie-info {
    padding: 7px !important;
    margin-top: 0 !important;
    border-top: 0 !important;
    background: rgba(3, 6, 12, 0.92) !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .movie-title,
  body.layout-quiz-top:not(.qv-finder-mode) .movie-info h3,
  body.layout-quiz-top:not(.qv-finder-mode) .qv-card-title {
    font-size: 0.7rem !important;
    line-height: 1.18 !important;
    margin: 7px 7px 3px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .movie-meta,
  body.layout-quiz-top:not(.qv-finder-mode) .movie-info-meta,
  body.layout-quiz-top:not(.qv-finder-mode) .qv-card-meta {
    font-size: 0.66rem !important;
    margin: 0 7px 8px !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) #qvRecommendedTrack .qv-card-meta {
    display: block !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) #qvRecommendedTrack .qv-card-title {
    margin-bottom: 3px !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) #qvRecommendedTrack .qv-card-duration,
  body.layout-quiz-top:not(.qv-finder-mode) #qvRecommendedTrack .qv-card-sep {
    display: none !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-lower-grid {
    display: block !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-genres-box {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-genres-box > * {
    min-height: 68px !important;
    border-radius: 12px !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-login-genres-message {
    min-height: 86px !important;
    display: grid !important;
    place-items: center !important;
    padding: 16px !important;
    text-align: center !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-benefits {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin-top: 22px !important;
    padding: 16px !important;
    border-radius: 16px !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-benefits article {
    display: grid !important;
    grid-template-columns: 34px 1fr !important;
    column-gap: 10px !important;
    align-items: center !important;
  }

  body.layout-quiz-top:not(.qv-finder-mode) .qv-benefits article span {
    grid-row: span 2 !important;
    color: #ff5a1f !important;
    font-size: 1.4rem !important;
  }

  @media (max-width: 480px) {
    body.layout-quiz-top:not(.qv-finder-mode) .qv-hero {
      min-height: 720px !important;
    }

    body.layout-quiz-top:not(.qv-finder-mode) .qv-hero > img {
      height: 48% !important;
    }

    body.layout-quiz-top:not(.qv-finder-mode) .qv-hero h1 {
      max-width: 100% !important;
      font-size: clamp(2.6rem, 15vw, 4.15rem) !important;
    }

    body.layout-quiz-top:not(.qv-finder-mode) .qv-hero-copy {
      padding-top: 34px !important;
      padding-bottom: 0 !important;
    }

    body.layout-quiz-top:not(.qv-finder-mode) .qv-hero-desc {
      -webkit-line-clamp: 2 !important;
    }

    body.layout-quiz-top:not(.qv-finder-mode) .qv-hero-reasons {
      position: relative !important;
      top: auto !important;
      right: auto !important;
      width: auto !important;
      max-height: 168px !important;
      margin: 12px 16px 0 !important;
      padding: 12px !important;
      overflow-y: auto !important;
    }

    body.layout-quiz-top:not(.qv-finder-mode) .qv-hero-reasons ul {
      grid-template-columns: 1fr !important;
    }

    body.layout-quiz-top:not(.qv-finder-mode) .qv-hero-reasons li {
      font-size: 0.74rem !important;
    }

    body.layout-quiz-top:not(.qv-finder-mode) .qv-hero-taste-actions {
      grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    }

    body.layout-quiz-top:not(.qv-finder-mode) .qv-taste-button {
      font-size: 0.64rem !important;
    }
  }

  /* Modales streaming / providers */
  .provider-pref-modal,
  .streaming-pref-modal {
    align-items: flex-start !important;
    justify-content: center !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)) !important;
  }

  .provider-pref-card,
  .streaming-pref-card {
    width: min(560px, calc(100vw - 24px)) !important;
    max-height: calc(100dvh - 24px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    box-sizing: border-box !important;
  }

  .provider-pref-grid,
  .streaming-pref-grid {
    grid-template-columns: 1fr !important;
    max-height: min(58dvh, 430px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    padding-right: 2px !important;
  }

  .provider-pref-option,
  .streaming-pref-option {
    min-height: 44px !important;
    touch-action: manipulation !important;
  }

  /* Topbar de la page d'accueil : compact sur mobile */
  .qv-topbar {
    padding: 10px 14px !important;
    gap: 8px !important;
  }

  .qv-search {
    flex: 1 !important;
    min-width: 0 !important;
  }

  .qv-search input {
    width: 100% !important;
    min-width: 0 !important;
  }

  /* Topnav redondante avec la sidebar sur mobile */
  .qv-topnav {
    display: none !important;
  }

  /* Bouton compte : version compacte */
  .qv-user-button b {
    display: none !important;
  }
}

/* ============================================
   Finder / Trouver mon film : pas de scroll page
   La nav laterale (184px) est devenue un bandeau
   horizontal sticky de ~52px — corriger la ref.
   ============================================ */
@media (max-width: 760px) {
  /* Vue autonome : body verrouille, plus rien d'autre visible */
  body.qv-finder-mode.layout-quiz-top {
    --qv-finder-mobile-nav-h: 52px;
    overflow: hidden !important;
    height: 100dvh !important;
  }

  /* Sidebar : fixed pour sortir du flux normal */
  body.qv-finder-mode .qv-unified-sidebar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 300 !important;
  }

  body.qv-finder-mode #qvHomeDashboard,
  body.qv-finder-mode .qv-main,
  body.qv-finder-mode .qv-topbar,
  body.qv-finder-mode #qvDashSearchResults {
    display: none !important;
  }

  /* Finder main : demarre sous la sidebar, occupe le reste */
  body.qv-finder-mode.layout-quiz-top > main.app {
    display: block !important;
    margin-top: 52px !important;
    height: calc(100dvh - 52px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  /* --- Quiz container : moins de padding vertical --- */
  body.qv-finder-mode .quiz-container {
    padding: 12px 0 !important;
  }

  /* --- Quiz head : compacter (kicker + titre + progression) --- */
  body.qv-finder-mode .quiz-modern-kicker {
    font-size: 0.7rem !important;
    padding: 5px 10px !important;
    margin-bottom: 6px !important;
  }

  body.qv-finder-mode .quiz-modern-subtitle {
    display: none !important;
  }

  body.qv-finder-mode .quiz-progress-card {
    min-height: 68px !important;
    padding: 10px 12px !important;
  }

  /* --- Quiz film : layout horizontal compact ---
     Poster a gauche, question + boutons a droite */
  body.qv-finder-mode .quiz-modern-card {
    display: grid !important;
    grid-template-columns: clamp(88px, 24vw, 108px) 1fr !important;
  }

  body.qv-finder-mode .quiz-modern-movie {
    grid-column: 1 !important;
    grid-row: 1 / 4 !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 10px 0 10px 10px !important;
    gap: 6px !important;
    align-items: initial !important;
  }

  body.qv-finder-mode .quiz-modern-poster {
    width: 100% !important;
    margin: 0 !important;
  }

  body.qv-finder-mode .quiz-modern-info {
    text-align: left !important;
    max-width: none !important;
  }

  body.qv-finder-mode .quiz-modern-info h3 {
    font-size: 0.78rem !important;
    margin: 4px 0 2px !important;
    line-height: 1.2 !important;
  }

  body.qv-finder-mode .quiz-modern-meta {
    font-size: 0.7rem !important;
    line-height: 1.3 !important;
  }

  /* Masquer la 2eme meta (realisateur) + description + trailer */
  body.qv-finder-mode .quiz-modern-meta ~ .quiz-modern-meta,
  body.qv-finder-mode .quiz-modern-desc,
  body.qv-finder-mode .quiz-trailer-btn {
    display: none !important;
  }

  body.qv-finder-mode .quiz-modern-question {
    grid-column: 2 !important;
    grid-row: 1 !important;
    padding: 8px 10px 4px !important;
  }

  body.qv-finder-mode .quiz-choice-grid {
    grid-column: 2 !important;
    grid-row: 2 !important;
    padding: 0 8px !important;
    gap: 6px !important;
  }

  body.qv-finder-mode .quiz-modern-nav {
    grid-column: 2 !important;
    grid-row: 3 !important;
    padding: 6px 10px !important;
    flex-direction: row !important;
  }

  body.qv-finder-mode .quiz-nav-btn {
    width: auto !important;
    flex: 1 !important;
    min-width: 0 !important;
  }

  body.qv-finder-mode .quiz-choice {
    min-height: 70px !important;
    padding: 8px 6px !important;
  }

  body.qv-finder-mode .quiz-choice-icon {
    font-size: 1.3rem !important;
  }

  body.qv-finder-mode .quiz-choice-sub {
    font-size: 0.64rem !important;
  }

  /* --- Wizard : verrouiller a la hauteur dispo ---
     Les options scrollent en interne, la page ne scrolle pas. */
  body.qv-finder-mode #moodTasteBox {
    max-height: calc(100dvh - 52px) !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
  }

  body.qv-finder-mode .mt-wizard {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 14px 14px 10px !important;
  }

  body.qv-finder-mode .mt-wizard-head {
    flex: 0 0 auto !important;
    margin-bottom: 6px !important;
  }

  body.qv-finder-mode .mt-wizard-options {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  body.qv-finder-mode .mt-wizard-options::-webkit-scrollbar {
    display: none !important;
  }

  body.qv-finder-mode .mt-wizard-nav {
    flex: 0 0 auto !important;
    margin-top: 8px !important;
  }

  /* Cards mood : hauteur reduite */
  body.qv-finder-mode .mt-wizard-options[data-step="mood"] .mt-wizard-option.intent-option {
    min-height: clamp(70px, 11vw, 100px) !important;
  }

  /* Options standard : hauteur reduite */
  body.qv-finder-mode .mt-wizard-option {
    min-height: 72px !important;
  }
}

/* ============================================
   Pages outils : experience mobile en un ecran
   La page ne scrolle pas; seuls les contenus longs
   scrollent a l'interieur de leur zone.
   ============================================ */
@media (max-width: 760px) {
  body.qv-page-all-films,
  body.qv-page-all-films .catalog-shell,
  body.qv-page-all-films .catalog-main {
    min-height: 100dvh !important;
    background-color: #050814 !important;
  }

  body.qv-page-all-films .catalog-main .container {
    padding: 10px 10px 34px !important;
    background:
      radial-gradient(circle at 20% 0%, rgba(255, 106, 42, 0.14), transparent 32%),
      radial-gradient(circle at 82% 18%, rgba(255, 122, 42, 0.08), transparent 30%),
      #050814 !important;
  }

  body.qv-page-all-films .catalog-hero {
    min-height: 0 !important;
    padding: 0 0 10px !important;
    align-content: start !important;
  }

  body.qv-page-all-films .catalog-hero h1 {
    margin-bottom: 0 !important;
    font-size: clamp(1.6rem, 7vw, 2rem) !important;
    line-height: 1.02 !important;
  }

  body.qv-page-all-films .catalog-hero .sub {
    display: none !important;
  }

  body.qv-page-all-films .catalog-search-row {
    margin-top: 8px !important;
    gap: 8px !important;
  }

  body.qv-page-all-films .input {
    min-height: 42px !important;
    padding: 0 12px !important;
    font-size: 0.86rem !important;
  }

  body.qv-page-all-films .catalog-sort {
    min-height: 42px !important;
    padding: 6px 8px !important;
    font-size: 0.78rem !important;
  }

  body.qv-page-all-films .catalog-content {
    display: block !important;
    gap: 10px !important;
  }

  body.qv-page-all-films .filter-panel {
    display: block !important;
    position: relative !important;
    top: auto !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 0 0 10px !important;
    padding: 10px !important;
    border-radius: 14px !important;
    background: rgba(7, 11, 19, 0.74) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.28) !important;
  }

  body.qv-page-all-films .filter-head {
    margin-bottom: 8px !important;
  }

  body.qv-page-all-films .filter-group {
    padding: 8px 0 !important;
  }

  body.qv-page-all-films .filter-title {
    margin-bottom: 6px !important;
    font-size: 0.78rem !important;
  }

  body.qv-page-all-films .chip-grid,
  body.qv-page-all-films .star-filter {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  body.qv-page-all-films .chip-grid::-webkit-scrollbar,
  body.qv-page-all-films .star-filter::-webkit-scrollbar {
    display: none !important;
  }

  body.qv-page-all-films .filter-chip {
    flex: 0 0 auto !important;
    min-height: 30px !important;
    padding: 0 10px !important;
    font-size: 0.72rem !important;
  }

  body.qv-page-all-films .range-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.qv-page-all-films .range-row input {
    min-height: 34px !important;
    font-size: 0.76rem !important;
  }

  body.qv-page-all-films .star-filter button {
    font-size: 1.2rem !important;
  }

  body.qv-page-all-films .results-meta {
    margin: 0 0 8px !important;
    font-size: 0.82rem !important;
  }

  html body.qv-sidebar-page.qv-wide-page.qv-page-all-films #list.grid,
  html body.qv-sidebar-page.qv-wide-page.qv-page-all-films #list {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  html body.qv-sidebar-page.qv-wide-page.qv-page-all-films #list .card {
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 0 !important;
    border-radius: 12px !important;
  }

  html body.qv-sidebar-page.qv-wide-page.qv-page-all-films #list .poster {
    aspect-ratio: 2 / 3 !important;
    height: auto !important;
  }

  html body.qv-sidebar-page.qv-wide-page.qv-page-all-films #list .poster,
  html body.qv-sidebar-page.qv-wide-page.qv-page-all-films #list .poster img {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.qv-page-all-films #list .movie-info {
    padding: 6px !important;
  }

  body.qv-page-all-films #list .movie-info-title {
    font-size: 0.66rem !important;
    line-height: 1.18 !important;
  }

  body.qv-page-all-films #list .movie-info-meta,
  body.qv-page-all-films #list .movie-rating-pill {
    font-size: 0.6rem !important;
  }

  body.qv-page-mini-jeux,
  body.qv-page-fusion,
  body.qv-page-roue,
  body.qv-page-contact,
  body.qv-page-mes-gouts {
    --qv-mobile-nav-h: 74px;
    height: 100dvh !important;
    min-height: 100dvh !important;
    overflow: hidden !important;
  }

  body.qv-page-mini-jeux .qv-unified-sidebar,
  body.qv-page-fusion .qv-unified-sidebar,
  body.qv-page-roue .qv-unified-sidebar,
  body.qv-page-contact .qv-unified-sidebar,
  body.qv-page-mes-gouts .qv-unified-sidebar {
    position: fixed !important;
    inset: auto 10px calc(10px + env(safe-area-inset-bottom, 0px)) 10px !important;
    top: auto !important;
    left: 10px !important;
    right: 10px !important;
    height: 64px !important;
    min-height: 0 !important;
    padding: 8px 10px !important;
    z-index: 500 !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 18px !important;
    background: rgba(5, 8, 20, 0.94) !important;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.58) !important;
  }

  body.qv-page-mini-jeux .qv-unified-brand img,
  body.qv-page-fusion .qv-unified-brand img,
  body.qv-page-roue .qv-unified-brand img,
  body.qv-page-contact .qv-unified-brand img,
  body.qv-page-mes-gouts .qv-unified-brand img {
    width: 26px !important;
    height: 26px !important;
  }

  body.qv-page-mini-jeux .qv-unified-nav a,
  body.qv-page-fusion .qv-unified-nav a,
  body.qv-page-roue .qv-unified-nav a,
  body.qv-page-contact .qv-unified-nav a,
  body.qv-page-mes-gouts .qv-unified-nav a {
    min-height: 32px !important;
    padding: 0 10px !important;
    font-size: 0.8rem !important;
  }

  body.qv-page-mini-jeux .seo-discovery,
  body.qv-page-fusion footer,
  body.qv-page-roue .seo-discovery,
  body.qv-page-contact .contact-footer,
  body.qv-page-mes-gouts footer,
  body.qv-page-mini-jeux .legal-footer,
  body.qv-page-mini-jeux .benefits,
  body.qv-page-mini-jeux .page-note {
    display: none !important;
  }

  body.qv-page-mini-jeux .game-shell,
  body.qv-page-mes-gouts .taste-app-shell {
    display: block !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    overflow: hidden !important;
  }

  body.qv-page-mini-jeux .game-main,
  body.qv-page-mes-gouts main.app,
  body.qv-page-mes-gouts .taste-main,
  body.qv-page-fusion main.app,
  body.qv-page-roue main.app,
  body.qv-page-contact main.contact-shell {
    height: calc(100dvh - var(--qv-mobile-nav-h)) !important;
    min-height: 0 !important;
    margin-top: var(--qv-mobile-nav-h) !important;
    margin-bottom: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  /* Mini-jeux */
  body.qv-page-mini-jeux .game-main {
    padding: 8px 10px !important;
  }

  body.qv-page-mini-jeux .game-content {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    overflow: hidden !important;
  }

  body.qv-page-mini-jeux .hero {
    min-height: 0 !important;
    padding: 12px !important;
    border-radius: 14px !important;
    flex: 0 0 auto !important;
  }

  body.qv-page-mini-jeux .hero h1 {
    font-size: clamp(1.45rem, 7vw, 2rem) !important;
    line-height: 1.02 !important;
  }

  body.qv-page-mini-jeux .hero-sub {
    margin: 8px 0 0 !important;
    font-size: 0.84rem !important;
    line-height: 1.35 !important;
  }

  body.qv-page-mini-jeux .hero-pill,
  body.qv-page-mini-jeux .hero-art,
  body.qv-page-mini-jeux .eyebrow {
    display: none !important;
  }

  body.qv-page-mini-jeux .games-grid {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(282px, 82vw) !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    gap: 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 4px 4px 14px !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  body.qv-page-mini-jeux .games-grid::-webkit-scrollbar {
    display: none !important;
  }

  body.qv-page-mini-jeux .game-card {
    width: 100% !important;
    min-height: 0 !important;
    padding: 12px !important;
    border-radius: 14px !important;
    gap: 8px !important;
    scroll-snap-align: start !important;
  }

  body.qv-page-mini-jeux .game-head {
    gap: 8px !important;
  }

  body.qv-page-mini-jeux .game-icon {
    width: 34px !important;
    height: 34px !important;
    font-size: 1.1rem !important;
  }

  body.qv-page-mini-jeux .game-card h2 {
    font-size: clamp(1rem, 4.8vw, 1.25rem) !important;
    line-height: 1.08 !important;
  }

  body.qv-page-mini-jeux .game-desc {
    margin: 0 !important;
    font-size: 0.78rem !important;
    line-height: 1.32 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  body.qv-page-mini-jeux .game-visual {
    display: block !important;
    min-height: 0 !important;
    height: 38px !important;
    opacity: 0.9 !important;
    overflow: hidden !important;
  }

  body.qv-page-mini-jeux .game-action {
    min-height: 38px !important;
    padding: 0 12px !important;
    font-size: 0.84rem !important;
    margin-top: auto !important;
  }

  /* Fusion */
  body.qv-page-fusion main.app {
    padding: 8px 10px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }

  body.qv-page-fusion .back-btn {
    display: none !important;
  }

  body.qv-page-fusion .fusion-hero {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 4px !important;
    flex: 0 0 auto !important;
  }

  body.qv-page-fusion .fusion-hero-icon,
  body.qv-page-fusion .fusion-hero p {
    display: none !important;
  }

  body.qv-page-fusion .fusion-hero h1 {
    font-size: clamp(1.55rem, 8vw, 2.2rem) !important;
    line-height: 1.02 !important;
  }

  body.qv-page-fusion .fusion-card {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    padding: 10px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }

  body.qv-page-fusion .films-select-row {
    flex: 0 0 auto !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 56px minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 7px !important;
  }

  body.qv-page-fusion .film-select-card {
    min-height: 210px !important;
    padding: 8px !important;
    border-radius: 14px !important;
  }

  body.qv-page-fusion .film-input {
    min-height: 36px !important;
    font-size: 0.78rem !important;
    padding: 6px 8px !important;
  }

  body.qv-page-fusion .film-poster-zone {
    width: min(100%, 96px) !important;
    min-height: 136px !important;
    margin-inline: auto !important;
  }

  body.qv-page-fusion .film-selected-meta {
    font-size: 0.7rem !important;
    line-height: 1.25 !important;
  }

  body.qv-page-fusion .fusion-plus {
    width: 56px !important;
    min-height: 56px !important;
    align-self: center !important;
    margin: 0 !important;
  }

  body.qv-page-fusion .fusion-plus::before,
  body.qv-page-fusion .fusion-plus::after,
  body.qv-page-fusion .fusion-emoji::after {
    display: none !important;
  }

  body.qv-page-fusion .fusion-emoji {
    width: 52px !important;
    height: 52px !important;
    font-size: 1.7rem !important;
  }

  body.qv-page-fusion #resultContainer {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  body.qv-page-fusion .fusion-results {
    max-height: 100% !important;
    overflow-y: auto !important;
    padding: 8px !important;
  }

  body.qv-page-fusion .fusion-top5-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.qv-page-fusion .fusion-result-card.best-match,
  body.qv-page-fusion .fusion-result-card {
    min-height: 0 !important;
    display: block !important;
  }

  body.qv-page-fusion .fusion-result-poster {
    height: 120px !important;
  }

  body.qv-page-fusion .fusion-result-title,
  body.qv-page-fusion .fusion-result-compat,
  body.qv-page-fusion .fusion-result-tags,
  body.qv-page-fusion .fusion-result-why {
    font-size: 0.72rem !important;
  }

  /* Roue */
  body.qv-page-roue main.app {
    padding: 8px 10px !important;
    display: flex !important;
    flex-direction: column !important;
  }

  body.qv-page-roue .back-button {
    display: none !important;
  }

  body.qv-page-roue .wheel-header {
    margin: 0 0 6px !important;
    flex: 0 0 auto !important;
  }

  body.qv-page-roue .wheel-header h1 {
    font-size: clamp(1.45rem, 7vw, 2rem) !important;
    line-height: 1.05 !important;
    margin: 0 !important;
  }

  body.qv-page-roue .wheel-header p {
    display: none !important;
  }

  body.qv-page-roue .wheel-section {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    align-items: stretch !important;
  }

  body.qv-page-roue .wheel-container {
    width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    gap: 6px !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    align-items: center !important;
  }

  body.qv-page-roue .ui-wheel-of-fortune {
    width: min(82vw, 330px, calc(100dvh - 310px)) !important;
    min-width: 236px !important;
    justify-self: center !important;
  }

  body.qv-page-roue .movie-details {
    width: 100% !important;
    max-height: 100% !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  body.qv-page-roue .details-container {
    grid-template-columns: 74px minmax(0, 1fr) !important;
    gap: 8px !important;
    padding: 8px !important;
    align-items: start !important;
  }

  body.qv-page-roue #movie-image {
    display: block !important;
    visibility: visible !important;
    width: 74px !important;
    height: 111px !important;
    object-fit: cover !important;
  }

  body.qv-page-roue .movie-info h2 {
    font-size: 0.92rem !important;
    line-height: 1.08 !important;
    margin-bottom: 3px !important;
  }

  body.qv-page-roue .movie-info p {
    font-size: 0.68rem !important;
    line-height: 1.18 !important;
    margin: 0 !important;
  }

  body.qv-page-roue #movie-description {
    display: block !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: initial !important;
    overflow: visible !important;
  }

  body.qv-page-roue .additional-info {
    font-size: 0.64rem !important;
    line-height: 1.15 !important;
    margin-bottom: 3px !important;
  }

  body.qv-page-roue .trailer-buttons {
    margin-top: 6px !important;
  }

  body.qv-page-roue .trailer-buttons button {
    min-height: 28px !important;
    padding: 0 8px !important;
    font-size: 0.68rem !important;
  }

  body.qv-page-roue .wheel-provider-section {
    display: block !important;
    margin-top: 5px !important;
  }

  body.qv-page-roue .wheel-provider-section[hidden] {
    display: none !important;
  }

  body.qv-page-roue .wheel-provider-list {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 4px !important;
    margin-top: 3px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
  }

  body.qv-page-roue .wheel-provider-list::-webkit-scrollbar {
    display: none !important;
  }

  body.qv-page-roue .wheel-provider-badge {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    padding: 4px !important;
    flex: 0 0 auto !important;
  }

  body.qv-page-roue .wheel-provider-logo,
  body.qv-page-roue .wheel-provider-icon {
    width: 16px !important;
    height: 16px !important;
  }

  body.qv-page-roue .wheel-provider-edit-btn {
    display: none !important;
  }

  body.qv-page-roue .wheel-provider-empty {
    margin-top: 3px !important;
    font-size: 0.58rem !important;
    line-height: 1.1 !important;
  }

  body.qv-page-roue .wheel-provider-badge:hover,
  body.qv-page-roue .wheel-provider-badge:focus-visible,
  body.qv-page-roue .wheel-provider-badge:focus-within {
    width: 26px !important;
  }

  body.qv-page-roue .wheel-provider-hover-text {
    display: none !important;
  }

  /* Contact */
  body.qv-page-contact main.contact-shell {
    padding: 8px 10px !important;
  }

  body.qv-page-contact .contact-hero {
    height: 100% !important;
    min-height: 0 !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 12px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
  }

  body.qv-page-contact .contact-copy {
    display: none !important;
  }

  body.qv-page-contact .contact-card {
    min-height: 0 !important;
    padding: 10px !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  body.qv-page-contact .contact-form {
    height: 100% !important;
    min-height: 0 !important;
    gap: 10px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding-right: 2px !important;
  }

  body.qv-page-contact .field {
    gap: 5px !important;
  }

  body.qv-page-contact .field-title,
  body.qv-page-contact label {
    font-size: 0.86rem !important;
    line-height: 1.18 !important;
    margin: 0 !important;
  }

  body.qv-page-contact .category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  body.qv-page-contact .category-option {
    min-height: 34px !important;
    padding: 7px 8px !important;
    font-size: 0.78rem !important;
    border-radius: 12px !important;
  }

  body.qv-page-contact .category-option span {
    font-size: 0.78rem !important;
    line-height: 1.15 !important;
  }

  body.qv-page-contact .input,
  body.qv-page-contact .file,
  body.qv-page-contact .textarea {
    min-height: 36px !important;
    padding: 7px 9px !important;
    font-size: 0.82rem !important;
    border-radius: 12px !important;
  }

  body.qv-page-contact .input::placeholder,
  body.qv-page-contact .textarea::placeholder {
    font-size: 0.82rem !important;
  }

  body.qv-page-contact .textarea {
    min-height: 64px !important;
  }

  body.qv-page-contact .contact-actions {
    gap: 8px !important;
  }

  body.qv-page-contact .contact-submit {
    min-height: 38px !important;
    font-size: 0.86rem !important;
  }

  /* Mes gouts */
  body.qv-page-mes-gouts main.app,
  body.qv-page-mes-gouts .taste-main {
    padding: 8px 10px !important;
    display: grid !important;
    grid-template-rows: auto auto minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  body.qv-page-mes-gouts .profile-hero {
    min-height: 0 !important;
    grid-template-columns: 64px minmax(0, 1fr) !important;
    text-align: left !important;
    align-items: center !important;
    padding: 10px !important;
    border-radius: 16px !important;
    gap: 10px !important;
  }

  body.qv-page-mes-gouts .profile-avatar-large,
  body.qv-page-mes-gouts .profile-avatar {
    width: 60px !important;
    height: 60px !important;
  }

  body.qv-page-mes-gouts .profile-name {
    font-size: clamp(1.35rem, 6vw, 1.9rem) !important;
    line-height: 1.05 !important;
  }

  body.qv-page-mes-gouts .profile-member,
  body.qv-page-mes-gouts .profile-quote {
    margin-top: 4px !important;
    font-size: 0.78rem !important;
    line-height: 1.25 !important;
  }

  body.qv-page-mes-gouts .taste-stats {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  body.qv-page-mes-gouts .stat-card {
    min-height: 58px !important;
    padding: 8px !important;
    border-radius: 12px !important;
  }

  body.qv-page-mes-gouts .stat-card strong {
    font-size: 1.05rem !important;
  }

  body.qv-page-mes-gouts .stat-card span {
    font-size: 0.68rem !important;
  }

  body.qv-page-mes-gouts .profile-lower-grid {
    min-height: 0 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  body.qv-page-mes-gouts .taste-panel {
    padding: 12px !important;
    border-radius: 14px !important;
  }

  body.qv-page-mes-gouts .taste-panel h2 {
    margin-bottom: 8px !important;
    font-size: 1rem !important;
  }

  body.qv-page-mes-gouts .taste-grid,
  body.qv-page-mes-gouts .taste-carousels {
    gap: 8px !important;
  }

  body.qv-page-mes-gouts .taste-card {
    width: 104px !important;
    min-width: 104px !important;
    flex-basis: 104px !important;
  }

  body.qv-page-mes-gouts .taste-poster {
    height: 148px !important;
  }
}

@media (max-width: 380px) and (max-height: 720px) {
  body.qv-page-mini-jeux,
  body.qv-page-fusion,
  body.qv-page-roue,
  body.qv-page-contact,
  body.qv-page-mes-gouts {
    --qv-mobile-nav-h: 46px;
  }

  body.qv-page-mini-jeux .hero-sub,
  body.qv-page-contact .contact-copy p,
  body.qv-page-mes-gouts .profile-quote {
    display: none !important;
  }

  body.qv-page-fusion .film-select-card {
    min-height: 188px !important;
  }

  body.qv-page-fusion .film-poster-zone {
    min-height: 118px !important;
  }

  body.qv-page-roue .ui-wheel-of-fortune {
    min-width: 230px !important;
  }
}

/* ============================================
   640px - Petits ecrans
   ============================================ */
@media (max-width: 640px) {
  .grid,
  #list,
  #recoList {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  html body.qv-sidebar-page.qv-wide-page.qv-page-all-films #list.grid,
  html body.qv-sidebar-page.qv-wide-page.qv-page-all-films #list {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  h1 {
    font-size: clamp(1.55rem, 7vw, 2.15rem) !important;
    line-height: 1.2 !important;
  }

  .sub,
  .movie-info-synopsis,
  .meta {
    font-size: 0.78rem !important;
  }
}

/* ============================================
   Touch : desactiver les hover-only
   ============================================ */
@media (hover: none) and (pointer: coarse) {
  .card:hover,
  .card:focus-within,
  .movie-card:hover,
  .movie-card:focus-within,
  .reco-card:hover,
  .reco-card:focus-within {
    transform: none !important;
    box-shadow: none !important;
  }

  /* Info film toujours visible sur touch (pas besoin de hover) */
  .movie-info {
    position: static !important;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
    margin-top: 6px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 0 0 10px 10px !important;
  }

  .movie-card,
  .reco-card,
  .card {
    overflow: hidden !important;
  }
}

/* ============================================
   Override final : nav mobile en haut
   ============================================ */
@media (max-width: 900px) {
  body.qv-sidebar-page:not(.qv-page-all-films) {
    padding-bottom: 0 !important;
  }

  body.qv-sidebar-page:not(.qv-page-all-films) .qv-unified-sidebar {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    top: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: 54px !important;
    min-height: 0 !important;
    max-height: 54px !important;
    padding: 7px 12px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    z-index: 3000 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 0 !important;
    background: rgba(5, 8, 20, 0.94) !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.45) !important;
    backdrop-filter: blur(16px) !important;
  }

  body.qv-sidebar-page:not(.qv-page-all-films) .qv-unified-sidebar .qv-auth-slot,
  body.qv-sidebar-page:not(.qv-page-all-films) .qv-nav-legal {
    display: none !important;
  }

  body.qv-sidebar-page:not(.qv-page-all-films) .qv-unified-brand {
    display: flex !important;
    flex: 0 0 auto !important;
  }

  body.qv-sidebar-page:not(.qv-page-all-films) .qv-unified-nav,
  body.qv-sidebar-page:not(.qv-page-all-films) .qv-menu {
    width: 100% !important;
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 4px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0 !important;
    scrollbar-width: none !important;
  }

  body.qv-sidebar-page:not(.qv-page-all-films) .qv-unified-nav::-webkit-scrollbar,
  body.qv-sidebar-page:not(.qv-page-all-films) .qv-menu::-webkit-scrollbar {
    display: none !important;
  }

  body.qv-sidebar-page:not(.qv-page-all-films) .qv-unified-nav a,
  body.qv-sidebar-page:not(.qv-page-all-films) .qv-menu a {
    min-width: max-content !important;
    min-height: 34px !important;
    flex: 0 0 auto !important;
    padding: 0 10px !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0 !important;
    white-space: nowrap !important;
    font-size: 0.78rem !important;
    line-height: 1 !important;
    text-align: center !important;
    border-radius: 10px !important;
  }

  body.qv-sidebar-page:not(.qv-page-all-films) .qv-unified-nav a span,
  body.qv-sidebar-page:not(.qv-page-all-films) .qv-menu a span {
    display: none !important;
  }

  body.qv-page-mini-jeux .games-grid {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(282px, 82vw) !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    gap: 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 4px 4px 14px !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  body.qv-page-mini-jeux .games-grid::-webkit-scrollbar {
    display: none !important;
  }

  body.qv-page-mini-jeux .game-card {
    width: 100% !important;
    scroll-snap-align: start !important;
  }

  .qv-sidebar-page :where(.poster, .movie-poster, .reco-poster-wrap, .taste-poster, .quiz-modern-poster),
  .qv-sidebar-page :where(.poster img, .movie-poster img, .reco-poster-wrap img, .taste-poster img, .quiz-modern-poster img),
  .qv-sidebar-page :where(.movie-panel-similar-item img, .global-movie-panel-similar-item img) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .qv-sidebar-page :where(.poster img, .movie-poster img, .reco-poster-wrap img, .taste-poster img, .quiz-modern-poster img),
  .qv-sidebar-page :where(.movie-panel-similar-item img, .global-movie-panel-similar-item img) {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  body.qv-page-roue main.app {
    padding: 6px 10px !important;
    overflow: hidden !important;
  }

  body.qv-page-roue .wheel-header {
    margin-bottom: 4px !important;
  }

  body.qv-page-roue .wheel-header h1 {
    max-width: 13.5em !important;
    margin-inline: auto !important;
    font-size: clamp(1.2rem, 5.7vw, 1.5rem) !important;
    line-height: 1.02 !important;
  }

  body.qv-page-roue .wheel-section,
  body.qv-page-roue .wheel-container {
    width: 100% !important;
    min-width: 0 !important;
    align-items: center !important;
    justify-items: center !important;
  }

  body.qv-page-roue .wheel-container {
    display: flex !important;
    flex-direction: column !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-inline: 10px !important;
    gap: 6px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    box-sizing: border-box !important;
  }

  body.qv-page-roue .ui-wheel-of-fortune {
    width: min(72vw, 272px) !important;
    min-width: 0 !important;
    max-width: calc(100vw - 32px) !important;
    flex: 0 0 auto !important;
    align-self: center !important;
    margin-inline: auto !important;
    left: auto !important;
    transform: none;
  }

  body.qv-page-roue .ui-wheel-of-fortune button {
    width: 30% !important;
    min-width: 64px !important;
    max-width: 78px !important;
    font-size: 0.58rem !important;
    letter-spacing: 0.035em !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    padding: 0 !important;
    text-align: center !important;
  }

  body.qv-page-roue .movie-details {
    width: 100% !important;
    max-width: calc(100vw - 20px) !important;
    max-height: none !important;
    padding: 6px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    align-self: center !important;
  }

  body.qv-page-roue .details-container {
    display: grid !important;
    grid-template-columns: 66px minmax(0, 1fr) !important;
    gap: 7px !important;
    padding: 0 !important;
    align-items: start !important;
    text-align: left !important;
  }

  body.qv-page-roue .movie-visual {
    width: 66px !important;
    min-width: 0 !important;
  }

  body.qv-page-roue #movie-image {
    width: 66px !important;
    height: 99px !important;
    border-radius: 8px !important;
  }

  body.qv-page-roue .movie-info {
    margin: 0 !important;
    padding: 0 !important;
    border-top: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  body.qv-page-roue .movie-info h2 {
    font-size: 0.82rem !important;
    line-height: 1.05 !important;
    margin: 0 0 2px !important;
  }

  body.qv-page-roue .movie-info p,
  body.qv-page-roue .additional-info,
  body.qv-page-roue #movie-description {
    font-size: 0.61rem !important;
    line-height: 1.12 !important;
    margin: 0 !important;
  }

  body.qv-page-roue #movie-description {
    display: block !important;
    overflow: visible !important;
    -webkit-line-clamp: unset !important;
  }

  body.qv-page-roue .trailer-buttons {
    margin-top: 5px !important;
  }

  body.qv-page-roue .trailer-buttons button {
    min-height: 24px !important;
    padding: 0 5px !important;
    border-radius: 7px !important;
    font-size: 0.6rem !important;
  }
}

@media (max-width: 760px) {
  body.qv-finder-mode #qvHomeDashboard {
    display: block !important;
    position: static !important;
    width: 100% !important;
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  body.qv-finder-mode .qv-main,
  body.qv-finder-mode .qv-topbar,
  body.qv-finder-mode #qvDashSearchResults {
    display: none !important;
  }

  body.qv-finder-mode .qv-unified-sidebar {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    width: 100% !important;
    height: 54px !important;
    min-height: 0 !important;
    max-height: 54px !important;
    padding: 7px 12px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px !important;
    overflow: hidden !important;
    z-index: 3000 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 0 !important;
    background: rgba(5, 8, 20, 0.94) !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.45) !important;
    backdrop-filter: blur(16px) !important;
  }

  body.qv-finder-mode .qv-unified-sidebar .qv-auth-slot,
  body.qv-finder-mode .qv-nav-legal {
    display: none !important;
  }

  body.qv-finder-mode .qv-unified-brand {
    display: flex !important;
    flex: 0 0 auto !important;
    gap: 7px !important;
    font-size: 1rem !important;
  }

  body.qv-finder-mode .qv-unified-brand img {
    width: 34px !important;
    height: 34px !important;
  }

  body.qv-finder-mode .qv-unified-nav {
    flex: 1 1 auto !important;
    width: auto !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
  }

  body.qv-finder-mode .qv-unified-nav::-webkit-scrollbar {
    display: none !important;
  }

  body.qv-finder-mode .qv-unified-nav a {
    min-width: max-content !important;
    min-height: 34px !important;
    flex: 0 0 auto !important;
    padding: 0 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    border-radius: 10px !important;
    font-size: 0.76rem !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  body.qv-finder-mode .qv-unified-nav a span {
    display: none !important;
  }

  body.qv-finder-mode.layout-quiz-top > main.app {
    margin-top: 54px !important;
    height: calc(100dvh - 54px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  body.qv-finder-mode.layout-quiz-top .layout {
    min-height: calc(100dvh - 54px) !important;
  }

  body.qv-finder-mode .quiz-container {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    padding: 8px 8px 10px !important;
    box-sizing: border-box !important;
  }

  body.qv-finder-mode .quiz-modern-card {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: 84px minmax(0, 1fr) !important;
    gap: 0 !important;
    overflow: hidden !important;
  }

  body.qv-finder-mode .quiz-modern-question {
    padding: 7px 8px 4px !important;
  }

  body.qv-finder-mode .quiz-choice-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 5px !important;
    padding: 0 6px 5px !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  body.qv-finder-mode .quiz-choice {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 38px !important;
    max-height: none !important;
    padding: 5px 6px !important;
    display: grid !important;
    grid-template-columns: 17px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 5px !important;
    row-gap: 1px !important;
    align-items: center !important;
    justify-items: start !important;
    border-radius: 10px !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.075), rgba(8, 12, 25, 0.7)) !important;
    color: #f7f8ff !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.025) !important;
    transform: none !important;
    overflow: hidden !important;
    text-align: left !important;
  }

  body.qv-finder-mode .quiz-choice.is-love {
    background: linear-gradient(180deg, rgba(53, 180, 75, 0.16), rgba(8, 12, 25, 0.72)) !important;
  }

  body.qv-finder-mode .quiz-choice.is-like {
    background: linear-gradient(180deg, rgba(255, 184, 0, 0.16), rgba(8, 12, 25, 0.72)) !important;
  }

  body.qv-finder-mode .quiz-choice.is-neutral {
    background: linear-gradient(180deg, rgba(106, 166, 255, 0.15), rgba(8, 12, 25, 0.72)) !important;
  }

  body.qv-finder-mode .quiz-choice.is-meh,
  body.qv-finder-mode .quiz-choice.is-dislike {
    background: linear-gradient(180deg, rgba(255, 106, 42, 0.14), rgba(8, 12, 25, 0.72)) !important;
  }

  body.qv-finder-mode .quiz-choice-icon {
    grid-row: 1 / span 2 !important;
    width: 17px !important;
    min-width: 17px !important;
    font-size: 0.95rem !important;
    line-height: 1 !important;
  }

  body.qv-finder-mode .quiz-choice-label {
    width: 100% !important;
    min-width: 0 !important;
    font-size: 0.67rem !important;
    line-height: 1.05 !important;
    overflow-wrap: anywhere !important;
  }

  body.qv-finder-mode .quiz-choice-sub {
    width: 100% !important;
    min-width: 0 !important;
    font-size: 0.56rem !important;
    line-height: 1.05 !important;
    overflow-wrap: anywhere !important;
  }

  body.qv-finder-mode .quiz-modern-nav {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    padding: 4px 6px 7px !important;
  }

  body.qv-finder-mode .quiz-nav-btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 32px !important;
    padding: 0 7px !important;
    border-radius: 9px !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    background: rgba(255, 255, 255, 0.07) !important;
    color: #f7f8ff !important;
    font-size: 0.66rem !important;
    line-height: 1 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}

@media (max-width: 760px) {
  body.qv-finder-mode #moodTasteBox {
    max-height: calc(100dvh - 54px) !important;
    padding: 6px !important;
    overflow: hidden !important;
  }

  body.qv-finder-mode .mt-wizard {
    height: 100% !important;
    max-height: 100% !important;
    padding: 8px !important;
    gap: 6px !important;
    overflow: hidden !important;
  }

  body.qv-finder-mode .mt-wizard-head {
    margin-bottom: 2px !important;
    gap: 4px !important;
  }

  body.qv-finder-mode .mt-wizard-head h2,
  body.qv-finder-mode .mt-wizard-title {
    margin: 0 !important;
    font-size: clamp(1rem, 5vw, 1.18rem) !important;
    line-height: 1.03 !important;
  }

  body.qv-finder-mode .mt-wizard-head p,
  body.qv-finder-mode .mt-wizard-subtitle,
  body.qv-finder-mode .mt-wizard-recap {
    display: none !important;
  }

  body.qv-finder-mode .mt-wizard-options {
    flex: 1 1 auto !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-content: start !important;
    gap: 6px !important;
    padding: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  body.qv-finder-mode .mt-wizard-option {
    min-height: 44px !important;
    max-height: 62px !important;
    padding: 6px 7px !important;
    border-radius: 10px !important;
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 6px !important;
    row-gap: 1px !important;
    align-items: center !important;
    overflow: hidden !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="mood"] .mt-wizard-option.intent-option {
    min-height: 50px !important;
    max-height: 58px !important;
    background-size: cover !important;
  }

  body.qv-finder-mode .mt-option-icon {
    grid-row: 1 / span 2 !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
  }

  body.qv-finder-mode .mt-option-icon svg {
    width: 15px !important;
    height: 15px !important;
  }

  body.qv-finder-mode .mt-option-label {
    min-width: 0 !important;
    font-size: 0.72rem !important;
    line-height: 1.02 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.qv-finder-mode .mt-option-sub {
    min-width: 0 !important;
    font-size: 0.55rem !important;
    line-height: 1.05 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 1 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  body.qv-finder-mode .mt-wizard-nav {
    margin-top: 0 !important;
    gap: 6px !important;
  }

  body.qv-finder-mode .mt-wizard-nav .btn,
  body.qv-finder-mode .finder-action-button {
    min-height: 32px !important;
    padding: 0 10px !important;
    border-radius: 9px !important;
    font-size: 0.72rem !important;
    line-height: 1 !important;
  }

  body.qv-finder-mode .mt-check,
  body.qv-finder-mode .mt-type-choice {
    min-height: 40px !important;
    padding: 7px 9px !important;
    border-radius: 10px !important;
    background-size: cover !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="context"] .context-solo {
    border-color: rgba(44, 196, 224, 0.42) !important;
    background:
      linear-gradient(90deg, rgba(5, 8, 20, 0.58), rgba(5, 8, 20, 0.2)),
      url("assets/intent-cards/dark-crime.png") center / cover no-repeat,
      rgba(6, 17, 24, 0.2) !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="context"] .context-date {
    border-color: rgba(255, 83, 145, 0.46) !important;
    background:
      linear-gradient(90deg, rgba(5, 8, 20, 0.56), rgba(5, 8, 20, 0.18)),
      url("assets/intent-cards/romantic.png") center / cover no-repeat,
      rgba(22, 8, 16, 0.2) !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="context"] .context-family {
    border-color: rgba(70, 210, 110, 0.44) !important;
    background:
      linear-gradient(90deg, rgba(5, 8, 20, 0.56), rgba(5, 8, 20, 0.18)),
      url("assets/intent-cards/family-time.png") center / cover no-repeat,
      rgba(7, 20, 15, 0.2) !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="context"] .context-friends {
    border-color: rgba(255, 164, 44, 0.44) !important;
    background:
      linear-gradient(90deg, rgba(5, 8, 20, 0.56), rgba(5, 8, 20, 0.18)),
      url("assets/intent-cards/easy-fun.png") center / cover no-repeat,
      rgba(8, 12, 22, 0.2) !important;
  }
}

@media (max-width: 430px) {
  body.qv-finder-mode .mt-wizard {
    padding: 6px !important;
    gap: 5px !important;
  }

  body.qv-finder-mode .mt-wizard-options {
    gap: 5px !important;
  }

  body.qv-finder-mode .mt-wizard-option {
    min-height: 40px !important;
    max-height: 54px !important;
    padding: 5px 6px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="mood"] .mt-wizard-option.intent-option {
    min-height: 45px !important;
    max-height: 52px !important;
  }

  body.qv-finder-mode .mt-option-label {
    font-size: 0.68rem !important;
  }

  body.qv-finder-mode .mt-option-sub {
    font-size: 0.51rem !important;
  }
}

@media (max-width: 760px) {
  body.qv-finder-mode .mt-wizard-options[data-step="mood"] {
    gap: 7px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="mood"] .mt-wizard-option.intent-option {
    min-height: 58px !important;
    max-height: 68px !important;
    padding: 8px 8px !important;
    grid-template-columns: 26px minmax(0, 1fr) !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="mood"] .mt-option-icon {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="mood"] .mt-option-label {
    font-size: 0.78rem !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="mood"] .mt-option-sub {
    font-size: 0.59rem !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="experience"] {
    display: block !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="experience"] .mt-slider-panel {
    display: grid !important;
    gap: 7px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="experience"] .mt-slider-row {
    min-height: 74px !important;
    padding: 9px 10px !important;
    border-radius: 12px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="experience"] .mt-slider-head b {
    font-size: 0.82rem !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="experience"] .mt-slider-desc,
  body.qv-finder-mode .mt-wizard-options[data-step="experience"] .mt-slider-scale {
    font-size: 0.62rem !important;
    line-height: 1.05 !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="constraints"],
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] {
    display: block !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-slider-panel,
  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-constraints-panel,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-refine-panel {
    display: grid !important;
    gap: 5px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-slider-row,
  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-range-box,
  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-check,
  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-type-choice,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-refine-picker,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-check,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-type-choice {
    min-height: 34px !important;
    padding: 5px 7px !important;
    border-radius: 9px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-slider-head b,
  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-check span,
  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-type-choice,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-refine-title,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-check span,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-type-choice {
    font-size: 0.68rem !important;
    line-height: 1.02 !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-slider-desc,
  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-slider-scale {
    font-size: 0.54rem !important;
    line-height: 1.02 !important;
  }
}

@media (max-width: 760px) {
  body.qv-finder-mode .mt-wizard-options[data-step="context"] {
    height: 100% !important;
    max-height: 100% !important;
    overflow: hidden !important;
    touch-action: none !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="context"] .mt-wizard-option {
    min-height: 44px !important;
    height: auto !important;
    max-height: none !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="experience"] {
    max-height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    touch-action: pan-y !important;
    overscroll-behavior: contain !important;
    scroll-behavior: smooth !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    transform: translateZ(0) !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="experience"]::-webkit-scrollbar {
    display: none !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="experience"] .mt-slider-row {
    backface-visibility: hidden !important;
    background-size: auto 100% !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    transform: translateZ(0) !important;
    transition:
      border-color 120ms ease,
      box-shadow 120ms ease !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="experience"] .mt-visual-intensity {
    background-image: url("assets/experience-sliders/intensity-mobile.png") !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="experience"] .mt-visual-depth {
    background-image: url("assets/experience-sliders/depth-mobile.png") !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="experience"] .mt-visual-pace {
    background-image: url("assets/experience-sliders/pace-mobile.png") !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="experience"] .mt-visual-realism {
    background-image: url("assets/experience-sliders/realism-mobile.png") !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] {
    height: 100% !important;
    max-height: 100% !important;
    overflow: hidden !important;
    touch-action: none !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-constraints-panel {
    height: 100% !important;
    max-height: 100% !important;
    display: grid !important;
    grid-template-rows: 1fr 1fr 1fr auto !important;
    gap: 5px !important;
    overflow: hidden !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-range-box,
  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-slider-row {
    min-height: 0 !important;
    height: 100% !important;
    padding: 5px 7px !important;
    border-radius: 10px !important;
    gap: 3px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-check-grid {
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-check {
    min-height: 34px !important;
    height: 34px !important;
    padding: 0 9px !important;
    border-radius: 9px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-check.mt-visual-scared-night {
    border-color: rgba(255, 48, 48, 0.7) !important;
    background:
      linear-gradient(90deg, rgba(80, 5, 8, 0.7), rgba(25, 6, 10, 0.78)),
      rgba(48, 8, 12, 0.84) !important;
    color: #fff !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-check.mt-visual-scared-night::before {
    background:
      linear-gradient(90deg, rgba(120, 8, 10, 0.7), rgba(40, 4, 8, 0.44) 58%, rgba(15, 4, 8, 0.22)),
      linear-gradient(180deg, rgba(255, 56, 56, 0.12), rgba(60, 5, 8, 0.5)) !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-check.mt-visual-scared-night input {
    accent-color: #ff3030 !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-check.mt-visual-scared-night:has(input:checked) {
    border-color: rgba(255, 48, 48, 1) !important;
    box-shadow:
      inset 0 0 0 2px rgba(255, 48, 48, 0.34),
      0 0 0 1px rgba(255, 120, 120, 0.28),
      0 0 24px rgba(255, 48, 48, 0.52) !important;
  }
}

@media (max-width: 760px) {
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] {
    max-height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    touch-action: pan-y !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"]::-webkit-scrollbar,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-suggestions::-webkit-scrollbar,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-actor-tags::-webkit-scrollbar {
    display: none !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-refine-panel {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-refine-picker {
    min-height: 0 !important;
    padding: 9px !important;
    border-radius: 14px !important;
    gap: 8px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-refine-title {
    font-size: 0.9rem !important;
    line-height: 1.1 !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-actor-input {
    min-height: 34px !important;
    padding: 6px 10px !important;
    border-radius: 10px !important;
    font-size: 0.82rem !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-suggestions,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-actor-tags {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 10px !important;
    max-height: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 1px 1px 4px !important;
    scrollbar-width: none !important;
    scroll-snap-type: x proximity !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-suggestions .mt-person-suggestion,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-actor-tag {
    position: relative !important;
    flex: 0 0 118px !important;
    width: 118px !important;
    min-height: 172px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    padding: 0 !important;
    border-radius: 13px !important;
    overflow: visible !important;
    text-align: center !important;
    scroll-snap-align: start !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-suggestions .mt-person-suggestion::after {
    display: none !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-person-suggestion img,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-person-fallback,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-actor-tag::before {
    position: static !important;
    inset: auto !important;
    width: 118px !important;
    height: 136px !important;
    flex: 0 0 136px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 13px !important;
    object-fit: cover !important;
    background:
      var(--person-image, linear-gradient(135deg, rgba(255, 122, 42, 0.34), rgba(255, 75, 92, 0.18)))
      center / cover no-repeat !important;
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.36) !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-person-suggestion-text {
    position: static !important;
    z-index: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    display: block !important;
    padding: 0 2px !important;
    color: #fff !important;
    text-shadow: none !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-person-suggestion-text b,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-actor-tag {
    color: #fff !important;
    font-size: 0.82rem !important;
    font-weight: 850 !important;
    line-height: 1.12 !important;
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: clip !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-person-suggestion-text small {
    display: none !important;
  }
}

@media (max-width: 760px) {
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] {
    max-height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    touch-action: pan-y !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"]::-webkit-scrollbar,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-suggestions::-webkit-scrollbar,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-actor-tags::-webkit-scrollbar {
    display: none !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-refine-panel {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-refine-picker {
    min-height: 0 !important;
    padding: 9px !important;
    border-radius: 14px !important;
    gap: 8px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-refine-title {
    font-size: 0.9rem !important;
    line-height: 1.1 !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-actor-input {
    min-height: 34px !important;
    padding: 6px 10px !important;
    border-radius: 10px !important;
    font-size: 0.82rem !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-suggestions,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-actor-tags {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 10px !important;
    max-height: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 1px 1px 4px !important;
    scrollbar-width: none !important;
    scroll-snap-type: x proximity !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-suggestions .mt-person-suggestion,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-actor-tag {
    position: relative !important;
    flex: 0 0 118px !important;
    width: 118px !important;
    min-height: 172px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    padding: 0 !important;
    border-radius: 13px !important;
    overflow: visible !important;
    text-align: center !important;
    scroll-snap-align: start !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-suggestions .mt-person-suggestion::after {
    display: none !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-person-suggestion img,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-person-fallback,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-actor-tag::before {
    position: static !important;
    inset: auto !important;
    width: 118px !important;
    height: 136px !important;
    flex: 0 0 136px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 13px !important;
    object-fit: cover !important;
    background:
      var(--person-image, linear-gradient(135deg, rgba(255, 122, 42, 0.34), rgba(255, 75, 92, 0.18)))
      center / cover no-repeat !important;
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.36) !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-person-suggestion-text {
    position: static !important;
    z-index: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    display: block !important;
    padding: 0 2px !important;
    color: #fff !important;
    text-shadow: none !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-person-suggestion-text b,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-actor-tag {
    color: #fff !important;
    font-size: 0.82rem !important;
    font-weight: 850 !important;
    line-height: 1.12 !important;
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: clip !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-person-suggestion-text small {
    display: none !important;
  }
}

@media (max-width: 760px) {
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] {
    max-height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    touch-action: pan-y !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"]::-webkit-scrollbar,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-suggestions::-webkit-scrollbar,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-actor-tags::-webkit-scrollbar {
    display: none !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-refine-panel {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-refine-picker {
    min-height: 0 !important;
    padding: 9px !important;
    border-radius: 14px !important;
    gap: 8px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-refine-title {
    font-size: 0.9rem !important;
    line-height: 1.1 !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-actor-input {
    min-height: 34px !important;
    padding: 6px 10px !important;
    border-radius: 10px !important;
    font-size: 0.82rem !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-suggestions,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-actor-tags {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 10px !important;
    max-height: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 1px 1px 4px !important;
    scrollbar-width: none !important;
    scroll-snap-type: x proximity !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-suggestions .mt-person-suggestion,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-actor-tag {
    position: relative !important;
    flex: 0 0 118px !important;
    width: 118px !important;
    min-height: 172px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    padding: 0 !important;
    border-radius: 13px !important;
    overflow: visible !important;
    text-align: center !important;
    scroll-snap-align: start !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-suggestions .mt-person-suggestion::after {
    display: none !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-person-suggestion img,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-person-fallback,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-actor-tag::before {
    position: static !important;
    inset: auto !important;
    width: 118px !important;
    height: 136px !important;
    flex: 0 0 136px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 13px !important;
    object-fit: cover !important;
    background:
      var(--person-image, linear-gradient(135deg, rgba(255, 122, 42, 0.34), rgba(255, 75, 92, 0.18)))
      center / cover no-repeat !important;
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.36) !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-person-suggestion-text {
    position: static !important;
    z-index: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    display: block !important;
    padding: 0 2px !important;
    color: #fff !important;
    text-shadow: none !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-person-suggestion-text b,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-actor-tag {
    color: #fff !important;
    font-size: 0.82rem !important;
    font-weight: 850 !important;
    line-height: 1.12 !important;
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: clip !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-person-suggestion-text small {
    display: none !important;
  }
}

@media (max-width: 430px) {
  body.qv-finder-mode .mt-wizard-options[data-step="mood"] .mt-wizard-option.intent-option {
    min-height: 54px !important;
    max-height: 62px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="experience"] .mt-slider-row {
    min-height: 68px !important;
    padding: 8px 9px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-slider-row,
  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-range-box,
  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-check,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-refine-picker {
    min-height: 32px !important;
    padding: 4px 6px !important;
  }
}

@media (max-width: 760px) {
  body.qv-finder-mode .mt-wizard-options[data-step="mood"] {
    gap: 8px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="mood"] .mt-wizard-option.intent-option {
    min-height: 66px !important;
    max-height: 78px !important;
    padding: 10px 9px !important;
    grid-template-columns: 30px minmax(0, 1fr) !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="mood"] .mt-option-icon {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="mood"] .mt-option-icon svg {
    width: 18px !important;
    height: 18px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="mood"] .mt-option-label {
    font-size: 0.84rem !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="mood"] .mt-option-sub {
    font-size: 0.63rem !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="experience"] .mt-slider-panel {
    gap: 8px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="experience"] .mt-slider-row {
    min-height: 86px !important;
    padding: 11px 12px !important;
    border-radius: 13px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="experience"] .mt-slider-head b {
    font-size: 0.9rem !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="experience"] .mt-slider-head em {
    font-size: 0.86rem !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="experience"] .mt-slider-desc,
  body.qv-finder-mode .mt-wizard-options[data-step="experience"] .mt-slider-scale {
    font-size: 0.68rem !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="experience"] .mt-slider-row input[type="range"] {
    height: 30px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-slider-panel,
  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-constraints-panel,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-refine-panel {
    gap: 4px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-slider-row,
  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-range-box,
  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-check,
  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-type-choice,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-refine-picker,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-check,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-type-choice {
    min-height: 28px !important;
    padding: 3px 6px !important;
    border-radius: 8px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-slider-head b,
  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-check span,
  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-type-choice,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-refine-title,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-check span,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-type-choice {
    font-size: 0.62rem !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-slider-desc,
  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-slider-scale {
    font-size: 0.49rem !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-slider-row input[type="range"],
  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-range-box input[type="range"] {
    height: 20px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-actor-input,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-actor-add {
    min-height: 30px !important;
    padding: 4px 7px !important;
    border-radius: 8px !important;
    font-size: 0.7rem !important;
  }
}

@media (max-width: 430px) {
  body.qv-finder-mode .mt-wizard-options[data-step="mood"] .mt-wizard-option.intent-option {
    min-height: 60px !important;
    max-height: 70px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="experience"] .mt-slider-row {
    min-height: 78px !important;
    padding: 10px 10px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-slider-row,
  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-range-box,
  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-check,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-refine-picker {
    min-height: 26px !important;
    padding: 3px 5px !important;
  }
}

@media (max-width: 760px) {
  body.qv-finder-mode .mt-wizard-options[data-step="context"] {
    grid-template-columns: 1fr !important;
    align-content: start !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="context"] .mt-wizard-option {
    width: 100% !important;
    max-height: none !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="mood"] {
    grid-template-columns: 1fr !important;
    align-content: start !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="mood"] .mt-wizard-option.intent-option {
    width: 100% !important;
    max-height: none !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    padding-inline: 12px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="mood"] .mt-option-sub {
    -webkit-line-clamp: 1 !important;
  }
}

@media (max-width: 760px) {
  body.qv-finder-mode .mt-wizard-options[data-step="context"] .mt-wizard-option.active,
  body.qv-finder-mode .mt-wizard-options[data-step="context"] .mt-wizard-option[aria-pressed="true"] {
    border-color: var(--qv-context-active-color, rgba(255, 122, 42, 0.95)) !important;
    background: var(--qv-context-base-bg, inherit) !important;
    box-shadow:
      inset 0 0 0 2px color-mix(in srgb, var(--qv-context-active-color, #ff7a2a) 42%, transparent),
      0 0 0 1px color-mix(in srgb, var(--qv-context-active-color, #ff7a2a) 28%, transparent),
      0 0 24px color-mix(in srgb, var(--qv-context-active-color, #ff7a2a) 48%, transparent) !important;
    filter: none !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="context"] .mt-wizard-option.active .mt-option-icon,
  body.qv-finder-mode .mt-wizard-options[data-step="context"] .mt-wizard-option[aria-pressed="true"] .mt-option-icon {
    color: #fff6e8 !important;
    border-color: var(--qv-context-active-color, rgba(255, 198, 132, 0.98)) !important;
    background: transparent !important;
    box-shadow:
      0 0 18px color-mix(in srgb, var(--qv-context-active-color, #ff7a2a) 48%, transparent),
      inset 0 0 0 1px rgba(255, 255, 255, 0.24) !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="context"] .context-solo {
    --qv-context-active-color: rgba(44, 196, 224, 0.95);
    --qv-context-base-bg:
      linear-gradient(90deg, rgba(5, 8, 20, 0.58), rgba(5, 8, 20, 0.2)),
      url("assets/intent-cards/dark-crime.png") center / cover no-repeat,
      rgba(6, 17, 24, 0.2);
  }

  body.qv-finder-mode .mt-wizard-options[data-step="context"] .context-solo.active,
  body.qv-finder-mode .mt-wizard-options[data-step="context"] .context-solo[aria-pressed="true"] {
    --qv-context-active-color: rgba(44, 196, 224, 0.95);
  }

  body.qv-finder-mode .mt-wizard-options[data-step="context"] .context-date {
    --qv-context-active-color: rgba(255, 83, 145, 0.95);
    --qv-context-base-bg:
      linear-gradient(90deg, rgba(5, 8, 20, 0.56), rgba(5, 8, 20, 0.18)),
      url("assets/intent-cards/romantic.png") center / cover no-repeat,
      rgba(22, 8, 16, 0.2);
  }

  body.qv-finder-mode .mt-wizard-options[data-step="context"] .context-date.active,
  body.qv-finder-mode .mt-wizard-options[data-step="context"] .context-date[aria-pressed="true"] {
    --qv-context-active-color: rgba(255, 83, 145, 0.95);
  }

  body.qv-finder-mode .mt-wizard-options[data-step="context"] .context-family {
    --qv-context-active-color: rgba(70, 210, 110, 0.95);
    --qv-context-base-bg:
      linear-gradient(90deg, rgba(5, 8, 20, 0.56), rgba(5, 8, 20, 0.18)),
      url("assets/intent-cards/family-time.png") center / cover no-repeat,
      rgba(7, 20, 15, 0.2);
  }

  body.qv-finder-mode .mt-wizard-options[data-step="context"] .context-family.active,
  body.qv-finder-mode .mt-wizard-options[data-step="context"] .context-family[aria-pressed="true"] {
    --qv-context-active-color: rgba(70, 210, 110, 0.95);
  }

  body.qv-finder-mode .mt-wizard-options[data-step="context"] .context-friends {
    --qv-context-active-color: rgba(255, 164, 44, 0.95);
    --qv-context-base-bg:
      linear-gradient(90deg, rgba(5, 8, 20, 0.56), rgba(5, 8, 20, 0.18)),
      url("assets/intent-cards/easy-fun.png") center / cover no-repeat,
      rgba(8, 12, 22, 0.2);
  }

  body.qv-finder-mode .mt-wizard-options[data-step="context"] .context-friends.active,
  body.qv-finder-mode .mt-wizard-options[data-step="context"] .context-friends[aria-pressed="true"] {
    --qv-context-active-color: rgba(255, 164, 44, 0.95);
  }

  body.qv-finder-mode .mt-wizard-options[data-step="mood"] {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 0 !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="mood"]::-webkit-scrollbar {
    display: none !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="mood"] .mt-wizard-option.intent-option {
    min-height: 128px !important;
    max-height: none !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    padding-block: 14px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="mood"] .mt-option-icon {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="mood"] .mt-option-label {
    font-size: 0.92rem !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="mood"] .mt-option-sub {
    font-size: 0.7rem !important;
    line-height: 1.12 !important;
  }
}

@media (max-width: 430px) {
  body.qv-finder-mode .mt-wizard-options[data-step="mood"] .mt-wizard-option.intent-option {
    min-height: 116px !important;
    padding-block: 12px !important;
  }
}

@media (max-width: 760px) {
  body.qv-finder-mode .mt-wizard-options[data-step="mood"] {
    max-height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    touch-action: pan-y !important;
    overscroll-behavior: contain !important;
    scroll-behavior: smooth !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    transform: translateZ(0) !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="mood"]::-webkit-scrollbar {
    display: none !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="mood"] .mt-wizard-option.intent-option {
    backface-visibility: hidden !important;
    transform: translateZ(0) !important;
    transition:
      border-color 120ms ease,
      box-shadow 120ms ease !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="mood"] .mt-wizard-option.intent-option:hover {
    transform: translateZ(0) !important;
  }
}

@media (max-width: 760px) {
  body.qv-finder-mode .mt-wizard-options[data-step="experience"] {
    max-height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    touch-action: pan-y !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="experience"]::-webkit-scrollbar {
    display: none !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] {
    height: 100% !important;
    max-height: 100% !important;
    overflow: hidden !important;
    touch-action: none !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-constraints-panel {
    height: 100% !important;
    max-height: 100% !important;
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) 34px !important;
    gap: 5px !important;
    overflow: hidden !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-range-box,
  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-slider-row {
    min-height: 0 !important;
    height: 100% !important;
    padding: 5px 7px !important;
    border-radius: 10px !important;
    gap: 3px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-check-grid {
    min-height: 0 !important;
    height: 34px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-check {
    min-height: 34px !important;
    height: 34px !important;
    padding: 0 9px !important;
    border-radius: 9px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-check.mt-visual-scared-night {
    border-color: rgba(255, 48, 48, 0.72) !important;
    background:
      linear-gradient(90deg, rgba(34, 5, 8, 0.88), rgba(14, 5, 9, 0.92)),
      rgba(18, 6, 10, 0.9) !important;
    color: #fff !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-check.mt-visual-scared-night::before {
    background:
      linear-gradient(90deg, rgba(70, 7, 12, 0.36), rgba(22, 4, 8, 0.32) 58%, rgba(12, 4, 8, 0.2)),
      linear-gradient(180deg, rgba(255, 56, 56, 0.05), rgba(28, 5, 8, 0.42)) !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-check.mt-visual-scared-night input {
    accent-color: #ff3030 !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="constraints"] .mt-check.mt-visual-scared-night:has(input:checked) {
    border-color: rgba(255, 48, 48, 1) !important;
    box-shadow:
      inset 0 0 0 2px rgba(255, 48, 48, 0.34),
      0 0 0 1px rgba(255, 120, 120, 0.28),
      0 0 24px rgba(255, 48, 48, 0.52) !important;
  }
}

@media (max-width: 760px) {
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] {
    max-height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    touch-action: pan-y !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"]::-webkit-scrollbar,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-suggestions::-webkit-scrollbar,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-actor-tags::-webkit-scrollbar {
    display: none !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-refine-panel {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-refine-picker {
    min-height: 0 !important;
    padding: 9px !important;
    border-radius: 14px !important;
    gap: 8px !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-refine-title {
    font-size: 0.9rem !important;
    line-height: 1.1 !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-actor-input {
    min-height: 34px !important;
    padding: 6px 10px !important;
    border-radius: 10px !important;
    font-size: 0.82rem !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-suggestions,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-actor-tags {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 10px !important;
    max-height: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 1px 1px 4px !important;
    scrollbar-width: none !important;
    scroll-snap-type: x proximity !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-suggestions .mt-person-suggestion,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-actor-tag {
    position: relative !important;
    flex: 0 0 118px !important;
    width: 118px !important;
    min-height: 172px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    padding: 0 !important;
    border-radius: 13px !important;
    overflow: visible !important;
    text-align: center !important;
    scroll-snap-align: start !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-suggestions .mt-person-suggestion::after {
    display: none !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-person-suggestion img,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-person-fallback,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-actor-tag::before {
    position: static !important;
    inset: auto !important;
    width: 118px !important;
    height: 136px !important;
    flex: 0 0 136px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 13px !important;
    object-fit: cover !important;
    background:
      var(--person-image, linear-gradient(135deg, rgba(255, 122, 42, 0.34), rgba(255, 75, 92, 0.18)))
      center / cover no-repeat !important;
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.36) !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-person-suggestion-text {
    position: static !important;
    z-index: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    display: block !important;
    padding: 0 2px !important;
    color: #fff !important;
    text-shadow: none !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-person-suggestion-text b,
  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-actor-tag {
    color: #fff !important;
    font-size: 0.82rem !important;
    font-weight: 850 !important;
    line-height: 1.12 !important;
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: clip !important;
  }

  body.qv-finder-mode .mt-wizard-options[data-step="refine"] .mt-person-suggestion-text small {
    display: none !important;
  }
}

@media (max-width: 760px) {
  body.qv-finder-mode.qv-finder-landing.layout-quiz-top,
  body.qv-finder-mode.qv-finder-landing.layout-quiz-top > main.app,
  body.qv-finder-mode.qv-finder-landing.layout-quiz-top .layout,
  body.qv-finder-mode.qv-finder-landing.layout-quiz-top .quiz-shell {
    height: 100dvh !important;
    max-height: 100dvh !important;
    min-height: 100dvh !important;
    overflow: hidden !important;
    touch-action: none !important;
  }

  body.qv-finder-mode.qv-finder-landing #moodTasteBox {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.qv-finder-mode.qv-finder-landing #quizHero {
    height: calc(100dvh - 54px) !important;
    max-height: calc(100dvh - 54px) !important;
    overflow: hidden !important;
  }
}

/* Final mobile account/nav adjustment */
@media (max-width: 900px) {
  body.qv-sidebar-page .qv-unified-sidebar,
  body.qv-finder-mode .qv-unified-sidebar {
    top: calc(env(safe-area-inset-top, 0px) + 6px) !important;
    inset: calc(env(safe-area-inset-top, 0px) + 6px) 0 auto 0 !important;
    height: 52px !important;
    min-height: 0 !important;
    max-height: 52px !important;
    padding: 6px 10px !important;
    overflow: visible !important;
  }

  body.qv-sidebar-page .qv-unified-sidebar .qv-auth-slot,
  body.qv-finder-mode .qv-unified-sidebar .qv-auth-slot {
    display: block !important;
    flex: 0 0 auto !important;
    width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    order: 99 !important;
  }

  body.qv-sidebar-page #qvAuthWrap.qv-in-sidebar,
  body.qv-finder-mode #qvAuthWrap.qv-in-sidebar {
    width: 38px !important;
    height: 38px !important;
    display: block !important;
    position: relative !important;
    z-index: 3100 !important;
  }

  body.qv-sidebar-page #qvAuthWrap.qv-in-sidebar[data-logged="1"] #qvAuthBtn,
  body.qv-finder-mode #qvAuthWrap.qv-in-sidebar[data-logged="1"] #qvAuthBtn,
  body.qv-sidebar-page #qvAuthWrap.qv-in-sidebar #qvAuthBtn,
  body.qv-finder-mode #qvAuthWrap.qv-in-sidebar #qvAuthBtn {
    display: flex !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    justify-content: center !important;
    gap: 0 !important;
  }

  body.qv-sidebar-page #qvAuthWrap.qv-in-sidebar #qvAuthBtn .qv-auth-label,
  body.qv-finder-mode #qvAuthWrap.qv-in-sidebar #qvAuthBtn .qv-auth-label,
  body.qv-sidebar-page #qvAuthWrap.qv-in-sidebar .qv-auth-profile-card,
  body.qv-finder-mode #qvAuthWrap.qv-in-sidebar .qv-auth-profile-card {
    display: none !important;
  }

  body.qv-sidebar-page #qvAuthWrap.qv-in-sidebar #qvAuthBtn .avatar,
  body.qv-finder-mode #qvAuthWrap.qv-in-sidebar #qvAuthBtn .avatar {
    width: 28px !important;
    height: 28px !important;
  }

  body.qv-sidebar-page #qvAuthWrap.qv-in-sidebar #qvAuthMenu,
  body.qv-finder-mode #qvAuthWrap.qv-in-sidebar #qvAuthMenu {
    top: calc(100% + 8px) !important;
    bottom: auto !important;
    right: 0 !important;
    left: auto !important;
    min-width: 210px !important;
    max-width: min(88vw, 280px) !important;
    max-height: min(70vh, 360px) !important;
    overflow: auto !important;
  }

  body.qv-sidebar-page .qv-unified-nav,
  body.qv-finder-mode .qv-unified-nav {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
}

/* Final all-pages mobile navbar/account adjustment */
@media (max-width: 900px) {
  .navbar {
    top: calc(env(safe-area-inset-top, 0px) + 10px) !important;
    margin-top: calc(env(safe-area-inset-top, 0px) + 10px) !important;
    overflow: visible !important;
  }

  .navbar-inner,
  .nav-links {
    overflow: visible !important;
  }

  #qvAuthWrap.qv-in-nav,
  #qvAuthWrap.qv-fixed {
    display: block !important;
    flex: 0 0 auto !important;
    width: 38px !important;
    height: 38px !important;
    margin-left: auto !important;
    position: relative !important;
    z-index: 3100 !important;
  }

  #qvAuthWrap.qv-fixed {
    position: fixed !important;
    top: calc(env(safe-area-inset-top, 0px) + 10px) !important;
    right: 10px !important;
  }

  #qvAuthWrap.qv-in-nav #qvAuthBtn,
  #qvAuthWrap.qv-fixed #qvAuthBtn {
    display: flex !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    justify-content: center !important;
  }

  #qvAuthWrap.qv-in-nav #qvAuthBtn .qv-auth-label,
  #qvAuthWrap.qv-fixed #qvAuthBtn .qv-auth-label {
    display: none !important;
  }

  #qvAuthWrap.qv-in-nav #qvAuthBtn .avatar,
  #qvAuthWrap.qv-fixed #qvAuthBtn .avatar {
    width: 28px !important;
    height: 28px !important;
  }

  #qvAuthWrap.qv-in-nav #qvAuthMenu,
  #qvAuthWrap.qv-fixed #qvAuthMenu {
    top: calc(100% + 8px) !important;
    bottom: auto !important;
    right: 0 !important;
    left: auto !important;
    min-width: 210px !important;
    max-width: min(88vw, 280px) !important;
    max-height: min(70vh, 360px) !important;
    overflow: auto !important;
  }

  body.qv-sidebar-page .qv-unified-sidebar,
  body.qv-finder-mode .qv-unified-sidebar {
    top: calc(env(safe-area-inset-top, 0px) + 10px) !important;
    inset: calc(env(safe-area-inset-top, 0px) + 10px) 0 auto 0 !important;
  }
}

/* Final unified mobile top nav: same behavior everywhere */
@media (max-width: 900px) {
  body.qv-sidebar-page .qv-unified-sidebar,
  body.qv-finder-mode .qv-unified-sidebar,
  .navbar,
  body > header {
    position: fixed !important;
    top: calc(env(safe-area-inset-top, 0px) + 10px) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: 54px !important;
    min-height: 0 !important;
    max-height: 54px !important;
    margin: 0 !important;
    padding: 7px 10px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    overflow: visible !important;
    z-index: 5000 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 0 !important;
    background: rgba(5, 8, 20, 0.94) !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.45) !important;
    backdrop-filter: blur(16px) !important;
  }

  .navbar-inner {
    width: 100% !important;
    height: 40px !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 8px !important;
    overflow: visible !important;
  }

  .brand,
  body.qv-sidebar-page .qv-unified-brand,
  body.qv-finder-mode .qv-unified-brand,
  body > header h1 {
    flex: 0 0 auto !important;
    min-width: 0 !important;
  }

  .brand-text,
  body.qv-sidebar-page .qv-unified-brand span,
  body.qv-finder-mode .qv-unified-brand span,
  body > header h1 {
    display: none !important;
  }

  .brand-logo,
  body.qv-sidebar-page .qv-unified-brand img,
  body.qv-finder-mode .qv-unified-brand img {
    width: 34px !important;
    height: 34px !important;
    flex: 0 0 34px !important;
  }

  .nav-links,
  body.qv-sidebar-page .qv-unified-nav,
  body.qv-finder-mode .qv-unified-nav {
    width: auto !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 40px !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    padding: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
  }

  .nav-links::-webkit-scrollbar,
  body.qv-sidebar-page .qv-unified-nav::-webkit-scrollbar,
  body.qv-finder-mode .qv-unified-nav::-webkit-scrollbar {
    display: none !important;
  }

  .nav-links a,
  .nav-link,
  body.qv-sidebar-page .qv-unified-nav a,
  body.qv-finder-mode .qv-unified-nav a,
  body > header .btn,
  body > header .pill,
  body > header summary.btn {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    min-height: 34px !important;
    height: 34px !important;
    padding: 0 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    white-space: nowrap !important;
    font-size: 0.76rem !important;
    line-height: 1 !important;
    border-radius: 10px !important;
  }

  body > header .pill {
    display: none !important;
  }

  body.qv-sidebar-page .qv-unified-sidebar .qv-auth-slot,
  body.qv-finder-mode .qv-unified-sidebar .qv-auth-slot {
    display: block !important;
    order: 999 !important;
    flex: 0 0 40px !important;
    width: 40px !important;
    height: 40px !important;
    margin: 0 0 0 auto !important;
  }

  #qvAuthWrap.qv-in-sidebar,
  #qvAuthWrap.qv-in-nav,
  #qvAuthWrap.qv-fixed {
    display: block !important;
    order: 999 !important;
    flex: 0 0 40px !important;
    width: 40px !important;
    height: 40px !important;
    margin-left: auto !important;
    position: relative !important;
    z-index: 5100 !important;
  }

  #qvAuthWrap.qv-fixed {
    position: fixed !important;
    top: calc(env(safe-area-inset-top, 0px) + 17px) !important;
    right: 10px !important;
  }

  #qvAuthWrap.qv-in-sidebar[data-logged="1"] #qvAuthBtn,
  #qvAuthWrap.qv-in-sidebar #qvAuthBtn,
  #qvAuthWrap.qv-in-nav #qvAuthBtn,
  #qvAuthWrap.qv-fixed #qvAuthBtn {
    display: flex !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    justify-content: center !important;
    gap: 0 !important;
  }

  #qvAuthWrap #qvAuthBtn .qv-auth-label,
  #qvAuthWrap.qv-in-sidebar .qv-auth-profile-card {
    display: none !important;
  }

  #qvAuthWrap #qvAuthBtn .avatar {
    width: 29px !important;
    height: 29px !important;
  }

  #qvAuthWrap #qvAuthMenu {
    top: calc(100% + 8px) !important;
    bottom: auto !important;
    right: 0 !important;
    left: auto !important;
    min-width: 210px !important;
    max-width: min(88vw, 280px) !important;
    max-height: min(70vh, 360px) !important;
    overflow: auto !important;
  }
}

@media (max-width: 900px) {
  body:not(.qv-sidebar-page) main.container,
  body:not(.qv-sidebar-page) .container,
  body:not(.qv-sidebar-page) main.app {
    margin-top: calc(env(safe-area-inset-top, 0px) + 66px) !important;
  }

  body > header + #errorBox {
    top: calc(env(safe-area-inset-top, 0px) + 74px) !important;
  }

  body > header ~ #canvasWrap {
    top: calc(env(safe-area-inset-top, 0px) + 74px) !important;
  }
}

/* Same mobile navbar everywhere: copied from Tous les films structure */
@media (max-width: 900px) {
  html body .qv-shared-navbar {
    position: fixed !important;
    top: calc(env(safe-area-inset-top, 0px) + 10px) !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    z-index: 1000 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    padding: 6px 10px !important;
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 0 !important;
    background: rgba(5, 8, 13, 0.96) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.34) !important;
    transform: none !important;
    overflow: visible !important;
  }

  html body .qv-shared-navbar .qv-shared-brand {
    flex: 0 0 34px !important;
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  html body .qv-shared-navbar .qv-shared-brand img {
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
  }

  html body .qv-shared-navbar .qv-shared-brand span,
  html body .qv-shared-navbar .qv-shared-nav a span,
  html body .qv-shared-navbar .qv-shared-nav summary span {
    display: none !important;
  }

  html body .qv-shared-navbar .qv-shared-nav {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: row !important;
    align-items: center !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    gap: 4px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }

  html body .qv-shared-navbar .qv-shared-nav a::before,
  html body .qv-shared-navbar .qv-shared-nav a::after,
  html body .qv-shared-navbar .qv-shared-nav summary::before,
  html body .qv-shared-navbar .qv-shared-nav summary::after {
    display: none !important;
    content: none !important;
  }

  html body .qv-shared-navbar .qv-shared-nav::-webkit-scrollbar {
    display: none !important;
  }

  html body .qv-shared-navbar .qv-shared-nav a,
  html body .qv-shared-navbar .qv-shared-nav summary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    min-width: max-content !important;
    min-height: 34px !important;
    height: 34px !important;
    padding: 0 9px !important;
    margin: 0 !important;
    border-radius: 12px !important;
    font-size: 0.78rem !important;
    font-weight: 750 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    color: #edf2ff !important;
    text-decoration: none !important;
    background: rgba(255, 255, 255, 0.035) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: none !important;
    transform: none !important;
  }

  html body .qv-shared-navbar .qv-shared-nav a:visited,
  html body .qv-shared-navbar .qv-shared-nav a:hover,
  html body .qv-shared-navbar .qv-shared-nav a:focus,
  html body .qv-shared-navbar .qv-shared-nav a.active,
  html body .qv-shared-navbar .qv-shared-nav summary:hover,
  html body .qv-shared-navbar .qv-shared-nav summary:focus {
    color: #edf2ff !important;
    background: rgba(255, 255, 255, 0.035) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    font-weight: 750 !important;
    transform: none !important;
  }

  html body .qv-shared-navbar .qv-auth-slot {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex: 0 0 40px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
    position: relative !important;
    overflow: visible !important;
  }

  html body .qv-shared-navbar .qv-shared-legal {
    display: block !important;
    position: static !important;
    flex: 0 0 auto !important;
    min-width: max-content !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  html body .qv-shared-navbar .qv-shared-legal > div {
    position: fixed !important;
    top: calc(env(safe-area-inset-top, 0px) + 64px) !important;
    right: 10px !important;
    left: auto !important;
    z-index: 10050 !important;
    display: none !important;
    width: min(260px, calc(100vw - 20px)) !important;
    padding: 10px !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 14px !important;
    background: rgba(5, 10, 26, 0.98) !important;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.65) !important;
  }

  html body .qv-shared-navbar .qv-shared-legal[open] > div {
    display: grid !important;
    gap: 8px !important;
  }

  html body .qv-shared-navbar .qv-shared-legal > div a,
  html body .qv-shared-navbar .qv-shared-legal > div button {
    display: block !important;
    width: 100% !important;
    min-height: 34px !important;
    height: auto !important;
    padding: 9px 10px !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, 0.04) !important;
    color: #edf2ff !important;
    text-align: left !important;
    text-decoration: none !important;
    font: inherit !important;
  }

  html body .qv-shared-navbar #qvAuthWrap,
  html body .qv-shared-navbar #qvAuthWrap.qv-in-sidebar {
    position: relative !important;
    z-index: 10060 !important;
    width: 40px !important;
    height: 40px !important;
    overflow: visible !important;
  }

  html body .qv-shared-navbar #qvAuthBtn {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    justify-content: center !important;
    border-radius: 999px !important;
  }

  html body .qv-shared-navbar #qvAuthBtn .qv-auth-label,
  html body .qv-shared-navbar #qvAuthWrap.qv-in-sidebar .qv-auth-profile-card {
    display: none !important;
  }

  html body .qv-shared-navbar #qvAuthMenu {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    bottom: auto !important;
    left: 0 !important;
    right: auto !important;
    z-index: 10070 !important;
    min-width: 220px !important;
    max-width: min(88vw, 280px) !important;
    max-height: min(70vh, 360px) !important;
    overflow: auto !important;
  }
}

/* Mes gouts: mobile only, keep the page scrollable under the shared top nav */
@media (max-width: 900px) {
  html body.qv-page-mes-gouts {
    height: auto !important;
    min-height: 100dvh !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  html body.qv-page-mes-gouts .taste-app-shell {
    height: auto !important;
    min-height: 100dvh !important;
    overflow: visible !important;
  }

  html body.qv-page-mes-gouts main.app,
  html body.qv-page-mes-gouts .taste-main {
    height: auto !important;
    min-height: calc(100dvh - var(--qv-mobile-nav-h, 74px)) !important;
    overflow: visible !important;
  }

  html body.qv-page-mes-gouts .profile-lower-grid {
    overflow: visible !important;
  }

  html body.qv-page-mes-gouts .activity-item img {
    display: block !important;
    width: 42px !important;
    height: 62px !important;
    min-width: 42px !important;
    object-fit: cover !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  html body.qv-page-mes-gouts #globalMoviePanelMedia:has(> img) {
    width: min(54vw, 170px) !important;
    aspect-ratio: 2 / 3 !important;
    height: auto !important;
    margin: 12px auto 0 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #090d18 !important;
  }

  html body.qv-page-mes-gouts #globalMoviePanelMedia > img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}
