/* Restri marketplace QA pass 2 — final overrides after marketplace_repair.css */

/* ---------- Global search ---------- */
.header-search,
.header-search .search-autocomplete__input-wrap {
  position: relative;
}
.header-search.has-search-value .header-search-submit,
.header-search:has([data-search-autocomplete-input]:not(:placeholder-shown)) .header-search-submit {
  display: none !important;
}
.header-search .search-autocomplete__clear {
  right: 8px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  border: 0 !important;
  border-radius: 999px !important;
  display: grid;
  place-items: center;
  padding: 0 !important;
  background: #eef1f5 !important;
  color: #667085 !important;
  font-size: 20px !important;
  line-height: 1 !important;
  box-shadow: none !important;
  z-index: 12;
}
.header-search .search-autocomplete__clear[hidden] { display: none !important; }
.search-autocomplete__dropdown {
  border: 1px solid rgba(15,23,42,.08) !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 45px rgba(15,23,42,.12) !important;
  overflow: hidden;
}
.search-autocomplete__section-title {
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #98a2b3 !important;
}
.search-autocomplete__item--qa-history .search-autocomplete__media {
  background: #f2f4f7 !important;
  color: #667085 !important;
}

/* Catalog search results use the global header search only. */
.page-catalog .buyer-catalog__toolbar-search.catalog-main-search {
  display: none !important;
}
.page-catalog .buyer-catalog__masthead:has(.buyer-catalog__qa-query-title) {
  margin-bottom: 14px;
}
.buyer-catalog__qa-query-title {
  margin: 0 0 10px;
  color: #101828;
  font-size: clamp(20px, 2vw, 28px);
  line-height: 1.18;
  font-weight: 800;
  letter-spacing: -.025em;
}
.page-catalog [data-chip-key="q"],
.page-catalog [data-chip-remove][data-chip-key="q"] {
  display: none !important;
}

/* ---------- Desktop auth ---------- */
@media (min-width: 769px) {
  [data-auth-modal-root] .auth-shell,
  [data-auth-password-modal-root] .auth-shell {
    width: min(660px, calc(100vw - 56px)) !important;
    max-width: 660px !important;
  }
  [data-auth-modal-root] .auth-shell--email-step {
    width: min(620px, calc(100vw - 56px)) !important;
    max-width: 620px !important;
  }
  [data-auth-modal-root] .auth-card,
  [data-auth-password-modal-root] .auth-card {
    padding: 40px 48px 36px !important;
  }
  [data-auth-modal-root] .auth-title,
  [data-auth-password-modal-root] .auth-title {
    font-size: 27px !important;
  }
  [data-auth-modal-root] .auth-input,
  [data-auth-password-modal-root] .auth-input,
  [data-auth-modal-root] .auth-btn,
  [data-auth-password-modal-root] .auth-btn {
    min-height: 54px !important;
  }
}

/* ---------- Profile photo modal: true top-level crisp foreground ---------- */
#avatar-modal.profile-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 20000 !important;
  isolation: isolate !important;
  filter: none !important;
  opacity: 1 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  pointer-events: auto !important;
}
#avatar-modal .profile-modal-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 0 !important;
  background: rgba(15,23,42,.42) !important;
  backdrop-filter: blur(5px) !important;
  -webkit-backdrop-filter: blur(5px) !important;
}
#avatar-modal .profile-modal-card {
  position: relative !important;
  z-index: 2 !important;
  filter: none !important;
  opacity: 1 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: #fff !important;
  box-shadow: 0 22px 60px rgba(15,23,42,.20) !important;
  pointer-events: auto !important;
}

/* ---------- Stock ---------- */
.listing-stock-status[data-unlimited="1"],
.listing-stock-status[data-stock=""],
.listing-stock-status.is-unlimited {
  display: none !important;
}

/* ---------- Seller profile ---------- */
.seller-profile-hero__banner {
  background: linear-gradient(135deg, #b39afb 0%, #9b7cf4 52%, #8666e8 100%) !important;
  box-shadow: inset 0 -16px 34px rgba(255,255,255,.08) !important;
}
.seller-profile-section-head { display: none !important; }
.seller-profile-toolbar {
  box-shadow: none !important;
}
.seller-profile-toolbar .ui-chip,
.seller-profile-chip,
.seller-profile-subchip {
  min-height: 39px !important;
  padding-inline: 17px !important;
  font-size: 14px !important;
}
/* Seller information is redundant inside cards on the seller's own storefront. */
.seller-profile-results .listing-card__seller,
.seller-profile-results .listing-card__seller-block,
.seller-profile-results .listing-tile__seller-row,
.seller-profile-results .listing-tile__seller,
.seller-profile-results .catalog-card__seller,
.seller-profile-results [class*="seller-meta"],
.seller-profile-results [class*="seller-info"] {
  display: none !important;
}
/* Rating/reviews use a warm marketplace accent. */
.listing-page [class*="rating"],
.listing-page [class*="review-count"],
.listing-page [class*="reviews-link"],
.seller-profile-hero__metric--rating [aria-hidden="true"] {
  --rating-accent: #f59e0b;
}
.listing-page [class*="rating"] .material-symbols-outlined,
.listing-page [class*="rating"] [aria-hidden="true"],
.listing-page [class*="reviews-link"] strong {
  color: var(--rating-accent, #f59e0b) !important;
}
.profile-pagination { display: none !important; }

/* ---------- Payment chooser ---------- */
[data-listing-payment-modal] .listing-payment-modal__shell {
  width: min(600px, calc(100vw - 32px)) !important;
  max-width: 600px !important;
  box-shadow: none !important;
}
[data-listing-payment-modal] .listing-payment-modal__card {
  padding: 32px 30px 26px !important;
  border: 1px solid #eaecf0 !important;
  border-radius: 26px !important;
  background: #fff !important;
}
[data-listing-payment-modal] .listing-payment-modal__methods {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-top: 24px !important;
}
[data-listing-payment-modal] .payment-method-card {
  min-height: 92px !important;
  padding: 16px !important;
  border: 1px solid #e4e7ec !important;
  border-radius: 18px !important;
  background: #fff !important;
  align-items: center !important;
  box-shadow: none !important;
  filter: none !important;
  transition: none !important;
}
[data-listing-payment-modal] .payment-method-card:hover:not(.is-disabled):not(.is-selected) {
  border-color: #d0d5dd !important;
  background: #fafafa !important;
  box-shadow: none !important;
  transform: none !important;
}
[data-listing-payment-modal] .payment-method-card.is-selected,
[data-listing-payment-modal] [aria-checked="true"] {
  border: 2px solid #8f35f1 !important;
  background: #fbf7ff !important;
  outline: none !important;
  box-shadow: none !important;
  filter: none !important;
}
[data-listing-payment-modal] .listing-payment-method__radio {
  display: none !important;
}
[data-listing-payment-modal] .listing-payment-method__left {
  gap: 12px !important;
  align-items: center !important;
}
[data-listing-payment-modal] .listing-payment-method__icon {
  width: 44px !important;
  height: 44px !important;
  flex: 0 0 44px !important;
}
[data-listing-payment-modal] .listing-payment-method__title {
  font-size: 15px !important;
  font-weight: 750 !important;
  color: #101828 !important;
}
[data-listing-payment-modal] .listing-payment-method__hint {
  margin-top: 3px !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
  color: #667085 !important;
}
[data-listing-payment-modal] .listing-payment-modal__total {
  margin-top: 18px !important;
  padding: 12px 14px !important;
  border: 1px solid #eaecf0 !important;
  border-radius: 14px !important;
  background: #f8fafc !important;
}
[data-listing-payment-modal] button[type="submit"],
[data-listing-payment-modal] .listing-payment-modal__submit,
[data-listing-payment-modal] .listing-payment-modal__pay-btn,
[data-listing-payment-modal] .cta-purple {
  background: #9333ea !important;
  border-color: #9333ea !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
}

/* ---------- Order metadata chips ---------- */
.order-summary__params {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
}
.order-param-chip,
.order-param-chip--category {
  min-height: 30px !important;
  padding: 5px 10px !important;
  border: 1px solid #e4e7ec !important;
  border-radius: 10px !important;
  background: #f8fafc !important;
  box-shadow: none !important;
  gap: 4px !important;
}
.order-param-chip::after { display: none !important; }
.order-param-chip--category {
  border-color: #ddd6fe !important;
  background: #f5f3ff !important;
}
.order-param-chip--game {
  border-color: #dbeafe !important;
  background: #eff6ff !important;
}
.order-param-chip__game-logo {
  width: 18px;
  height: 18px;
  border-radius: 5px;
  object-fit: cover;
  flex: 0 0 auto;
}
.order-param-chip__label {
  color: #667085 !important;
  font-size: 12px !important;
}
.order-param-chip__value {
  color: #1d2939 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}
.refund-trigger-btn,
.refund-text-action,
.refund-trigger-btn:hover,
.refund-text-action:hover {
  background: transparent !important;
  color: #b42318 !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  padding: 0 !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ---------- Chat ---------- */
.chat-form.ui-clean-input,
.chat-form.ui-clean-input:hover,
.chat-form.ui-clean-input:focus-within {
  transition: border-color .12s ease, background-color .12s ease !important;
}
.chat-form.ui-clean-input:focus-within,
.chat-form.ui-clean-input:focus-within .chat-form__input {
  background: #fff !important;
  border-color: #8b5cf6 !important;
  box-shadow: none !important;
}
.chatline:not(.chatline--mine):not(.chatline--system) .chatline__bubble {
  background: #fff !important;
  border: 1px solid #e4e7ec !important;
  box-shadow: 0 2px 8px rgba(15,23,42,.04) !important;
  color: #1d2939 !important;
}
.chatline--status-event .chatline__bubble {
  background: #fff !important;
  background-image: none !important;
  border: 1px solid #d0d5dd !important;
  box-shadow: none !important;
}
.chatline--status-event.qa-event--payment .chatline__bubble { border-color: #6ce9a6 !important; color: #067647 !important; }
.chatline--status-event.qa-event--confirm .chatline__bubble { border-color: #84adff !important; color: #175cd3 !important; }
.chatline--status-event.qa-event--refund .chatline__bubble { border-color: #fda29b !important; color: #b42318 !important; }
.chatline--status-event.qa-event--dispute .chatline__bubble { border-color: #344054 !important; color: #101828 !important; }
.chat-list-item.qa-unread:not(.is-active) {
  background: #f4f0ff !important;
  box-shadow: inset 3px 0 0 #8b5cf6 !important;
}
.chat-list-item.qa-unread .chat-list-item__preview {
  color: #344054 !important;
  font-weight: 650 !important;
}

/* ---------- Mobile ---------- */
@media (max-width: 768px) {
  /* iOS Safari zooms focused text fields below 16px. Keep modal forms stable. */
  [data-auth-modal-root] input.auth-input,
  [data-auth-password-modal-root] input.auth-input,
  .auth-overlay input.auth-input,
  .auth-overlay input[type="email"],
  .auth-overlay input[type="text"],
  .auth-overlay input[type="password"] {
    font-size: 16px !important;
  }

  /* Payment method chooser is one compact decision per row on phones. */
  [data-listing-payment-modal] .listing-payment-modal__shell {
    width: min(520px, calc(100vw - 20px)) !important;
  }
  [data-listing-payment-modal] .listing-payment-modal__card {
    padding: 26px 18px 20px !important;
    border-radius: 22px !important;
  }
  [data-listing-payment-modal] .listing-payment-modal__methods {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    margin-top: 18px !important;
  }
  [data-listing-payment-modal] .payment-method-card {
    min-height: 68px !important;
    padding: 11px 13px !important;
    border-radius: 15px !important;
  }
  [data-listing-payment-modal] .listing-payment-method__icon {
    width: 38px !important;
    height: 38px !important;
    flex-basis: 38px !important;
  }

  /* Lower the mobile island visually while keeping the iPhone safe area. */
  :root {
    --mobile-nav-height: 64px;
    --mobile-nav-safe: calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));
  }
  .mobile-bottom-nav {
    min-height: var(--mobile-nav-height) !important;
    height: var(--mobile-nav-height) !important;
    align-items: end !important;
    padding: 8px 10px calc(3px + env(safe-area-inset-bottom)) !important;
  }

  /* Popular games: five compact icon targets in one row, no cards. */
  .home-quick-games,
  .popular-games,
  [class*="quick-games"] {
    gap: 4px !important;
  }
  .home-quick-games .quick-game-card,
  .popular-games .quick-game-card,
  .quick-game-card {
    min-width: 0 !important;
    min-height: 58px !important;
    height: auto !important;
    padding: 4px 2px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  .quick-game-card img,
  .quick-game-card__icon,
  .quick-game-card [class*="icon"] {
    width: 30px !important;
    height: 30px !important;
    max-width: 30px !important;
  }
  .quick-game-card [class*="title"],
  .quick-game-card strong {
    font-size: 9px !important;
    line-height: 1.05 !important;
  }
  .quick-game-card [class*="count"],
  .quick-game-card [class*="price"],
  .quick-game-card p {
    display: none !important;
  }

  /* Mobile catalog toolbar/list controls. */
  .buyer-catalog__mobile-filter-chips {
    justify-content: flex-end !important;
  }
  .buyer-catalog__view-toggle,
  .buyer-catalog [class*="view-switch"] {
    margin-left: auto !important;
  }
  .catalog-cards[data-view="list"] .listing-tile__price-row,
  .catalog-cards[data-view="list"] .catalog-card__footer {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto auto !important;
    align-items: center !important;
    gap: 8px !important;
  }
  .catalog-cards[data-view="list"] [class*="seller"] {
    margin: 0 !important;
  }

  /* Mobile filter editor: reset left, close right. */
  [data-mobile-bottom-sheet] [data-mobile-sheet-side="left"] {
    position: absolute !important;
    left: 16px !important;
    right: auto !important;
  }
  [data-mobile-bottom-sheet] [data-mobile-sheet-side="right"] {
    position: absolute !important;
    right: 16px !important;
    left: auto !important;
  }

  /* Seller info belongs inside the purchase card, without another card. */
  .listing-seller--mobile-after-price {
    margin-top: 12px !important;
    padding: 12px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid rgba(15,23,42,.07) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  .listing-seller--mobile-after-price .card,
  .listing-seller--mobile-after-price [class*="seller-card"] {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  /* Lightbox uses the screen instead of a tiny centered card. */
  .ld-lightbox {
    padding: 8px !important;
  }
  .ld-lightbox-card {
    width: 100% !important;
    max-width: 100% !important;
    padding: 6px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  .ld-lightbox-img {
    max-width: calc(100vw - 20px) !important;
    width: auto !important;
    max-height: 84dvh !important;
  }

  /* Seller storefront: controls directly on canvas; games wrap instead of scrolling. */
  .seller-profile-toolbar {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  .seller-profile-toolbar__row--games,
  [data-game-filters] {
    display: flex !important;
    flex-wrap: wrap !important;
    overflow: visible !important;
    gap: 7px !important;
  }
  .seller-profile-toolbar__row--games .ui-chip,
  [data-game-filters] .ui-chip {
    min-height: 38px !important;
    width: auto !important;
    max-width: 100% !important;
    padding: 0 13px !important;
    font-size: 13px !important;
  }

  /* Purchases/sales controls. */
  .sales-tabs__btn {
    min-height: 42px !important;
    padding-inline: 17px !important;
    font-size: 14px !important;
  }
  .sales-page .sales-view-switch__btn {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }
  .sales-page .sales-view-switch__icon {
    width: 24px !important;
    height: 24px !important;
  }
  .sales-filters {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) 44px !important;
    gap: 8px !important;
  }
  .sales-filter--search {
    grid-column: 1 / 3 !important;
  }
  .sales-filter:has([data-filter-game]) { grid-column: 1 !important; }
  .sales-filter:has([data-filter-status]) { grid-column: 2 !important; }
  .sales-filter:has([data-filter-sort]) {
    grid-column: 3 !important;
    grid-row: 1 !important;
    width: 44px !important;
    overflow: visible !important;
  }
  .sales-filter:has([data-filter-sort]) .sales-dropdown__trigger {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    font-size: 0 !important;
    display: grid !important;
    place-items: center !important;
  }
  .sales-filter:has([data-filter-sort]) .sales-dropdown__trigger::before {
    content: "⇅";
    font-size: 22px;
    color: #475467;
  }
  .sales-table thead th:last-child,
  .sales-table tbody td:last-child {
    display: none !important;
  }

  /* Mobile order: actions -> chat -> product -> safety, compact cards. */
  .order-page {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }
  .order-workspace,
  .order-workspace > .order-side { display: contents !important; }
  .order-side > .primary-action,
  .order-side > .order-action-card { order: 10 !important; }
  .order-main { order: 20 !important; }
  .order-product-header,
  .order-summary--hero { order: 30 !important; }
  .order-side > .trust-card { order: 40 !important; }
  .order-action-card {
    padding: 16px !important;
  }
  .order-action-card__description,
  .order-action-card__helper {
    margin-block: 8px !important;
  }
  .chat-shell {
    min-height: 0 !important;
    height: min(60dvh, 560px) !important;
    padding-inline: 6px !important;
  }
  .chat-shell .chat-header,
  .chat-shell .chat-composer-wrap {
    margin-inline: 0 !important;
  }
  .chat-shell .chatbox,
  .chat-panel .chatbox {
    padding-left: 6px !important;
    padding-right: 6px !important;
    padding-bottom: 6px !important;
  }
  .chat-composer-wrap {
    padding: 6px !important;
    margin-bottom: 0 !important;
  }

  /* Mobile notifications: clean title actions + collapsible filters. */
  .notifications-page__header {
    align-items: center !important;
  }
  .notifications-page__header p { display: none !important; }
  .notifications-page__header-actions > a[href="/settings/notifications"] {
    display: none !important;
  }
  .notifications-page__header-actions [data-notifications-mark-all] {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 0 !important;
  }
  .notifications-page__header-actions [data-notifications-mark-all]::before {
    content: "✓✓";
    font-size: 18px;
    font-weight: 800;
    color: #7c3aed;
    letter-spacing: -5px;
    padding-right: 5px;
  }
  .notifications-filters.qa-mobile-collapsed {
    display: none !important;
  }
  .notifications-filters.qa-mobile-open {
    display: flex !important;
    flex-wrap: wrap !important;
    margin-top: 8px !important;
  }
  .qa-notifications-filter-toggle {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 0;
    background: transparent;
    color: #475467;
    font-size: 22px;
    cursor: pointer;
  }
}