/* ==========================================================================
 * ALVIRAN Shop - final detail modal density layer
 * Loaded after 70-shop-v2.css so modal sizing is deterministic.
 * ========================================================================== */

@media (min-width: 901px) {
  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-panel {
    width: min(100vw - 56px, 1100px) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100svh - 56px) !important;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 320px) !important;
    align-items: stretch !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-left {
    gap: 8px !important;
    padding: 12px !important;
    overflow: hidden !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-right {
    padding: 12px !important;
    align-content: start !important;
    overflow: hidden !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-shop-modal-header {
    grid-template-columns: 44px minmax(0, 1fr) !important;
    gap: 10px !important;
    min-height: 64px !important;
    margin-right: 40px !important;
    padding: 10px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-shop-modal-game-badge {
    width: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-shop-modal-game-badge img {
    width: 28px !important;
    height: 28px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-shop-modal-title {
    font-size: clamp(1rem, 1.25vw, 1.22rem) !important;
    line-height: 1.08 !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-shop-modal-subtitle {
    font-size: .68rem !important;
    line-height: 1.22 !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-img-wrap {
    height: auto !important;
    max-height: none !important;
    padding: 6px !important;
    border-radius: 13px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-stage {
    position: relative !important;
    height: auto !important;
    aspect-ratio: 16 / 6.65 !important;
    max-height: 252px !important;
    border-radius: 10px !important;
    cursor: zoom-in !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-open-shot {
    position: absolute !important;
    right: 12px !important;
    bottom: 12px !important;
    z-index: 4 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    min-height: 34px !important;
    padding: 0 12px !important;
    border: 1px solid rgba(255, 247, 235, .18) !important;
    border-radius: 11px !important;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, .13), rgba(255, 255, 255, .044)),
      rgba(7, 9, 14, .78) !important;
    color: rgba(255, 247, 235, .92) !important;
    box-shadow:
      0 12px 28px rgba(0, 0, 0, .38),
      inset 0 1px 0 rgba(255, 255, 255, .1) !important;
    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
    font: inherit !important;
    font-size: .68rem !important;
    font-weight: 860 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    cursor: zoom-in !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-open-shot svg {
    flex: 0 0 auto !important;
    width: 14px !important;
    height: 14px !important;
    stroke: currentColor !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-open-shot:hover,
  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-open-shot:focus-visible {
    border-color: color-mix(in srgb, var(--det-gc, var(--shop-page-game-color, var(--v2-gold))) 46%, rgba(255, 247, 235, .22)) !important;
    color: #fff7eb !important;
    outline: none !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-gallery-count {
    top: 11px !important;
    right: 11px !important;
    height: 23px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-stats-grid {
    gap: 7px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-stat-cell {
    min-height: 52px !important;
    padding: 8px 28px 8px 10px !important;
    border-radius: 11px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail #alv-detail-tracker a {
    min-height: 34px !important;
    border-radius: 11px !important;
    justify-content: center !important;
    gap: 7px !important;
    color: rgba(255, 247, 235, .78) !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-purchase-card {
    height: auto !important;
    min-height: 0 !important;
    gap: 8px !important;
    padding: 12px !important;
    border-radius: 15px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-purchase-head {
    gap: 3px !important;
    padding: 9px 10px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-purchase-head strong {
    max-width: none !important;
    font-size: .9rem !important;
    line-height: 1.08 !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-price-row {
    min-height: 58px !important;
    padding: 10px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-price {
    font-size: 1.34rem !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-shop-modal-trust {
    gap: 6px !important;
    padding: 8px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-shop-modal-trust span {
    min-height: 32px !important;
    padding: 7px 8px 7px 18px !important;
    font-size: .6rem !important;
    line-height: 1.08 !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-next-panel {
    gap: 4px !important;
    padding: 8px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-next-list {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 4px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-next-list li {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 2px !important;
    min-height: 40px !important;
    padding: 5px 6px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-next-list small {
    width: auto !important;
    height: auto !important;
    justify-content: flex-start !important;
    background: transparent !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-next-list span {
    white-space: normal !important;
    font-size: .56rem !important;
    line-height: 1.08 !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-payment-strip {
    padding: 7px !important;
    gap: 4px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-payment-strip span {
    min-height: 20px !important;
    padding: 0 7px !important;
    font-size: .57rem !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-actions-row {
    margin-top: 2px !important;
    padding-top: 8px !important;
    gap: 8px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-share-btn,
  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail #alv-detail-buy {
    min-height: 42px !important;
    border-radius: 11px !important;
  }
}

@media (max-width: 640px) {
  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail {
    padding: 8px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-panel {
    width: min(100%, calc(100vw - 16px)) !important;
    max-width: calc(100vw - 16px) !important;
    height: auto !important;
    max-height: calc(100svh - 16px) !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    border-radius: 16px !important;
    overflow: hidden !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-shop-modal-close {
    top: 8px !important;
    right: 8px !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 10px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-left {
    gap: 6px !important;
    padding: 8px !important;
    border: 0 !important;
    overflow: hidden !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-shop-modal-header {
    grid-template-columns: 32px minmax(0, 1fr) !important;
    gap: 8px !important;
    min-height: 42px !important;
    margin-right: 36px !important;
    padding: 6px !important;
    border-radius: 11px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-shop-modal-game-badge {
    width: 32px !important;
    height: 32px !important;
    border-radius: 9px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail h2#alv-detail-title.alv-shop-modal-title {
    -webkit-line-clamp: 2 !important;
    min-height: 0 !important;
    max-height: 2.2em !important;
    font-size: .84rem !important;
    line-height: 1.08 !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-shop-modal-subtitle {
    display: none !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-img-wrap,
  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-stage {
    height: clamp(138px, 22svh, 172px) !important;
    max-height: 172px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-img-wrap {
    padding: 5px !important;
    border-radius: 12px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-stage {
    position: relative !important;
    cursor: zoom-in !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-open-shot {
    position: absolute !important;
    right: 8px !important;
    bottom: 8px !important;
    z-index: 4 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-height: 30px !important;
    max-width: calc(100% - 16px) !important;
    padding: 0 9px !important;
    border: 1px solid rgba(255, 247, 235, .18) !important;
    border-radius: 10px !important;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .046)),
      rgba(7, 9, 14, .82) !important;
    color: rgba(255, 247, 235, .92) !important;
    box-shadow:
      0 10px 24px rgba(0, 0, 0, .38),
      inset 0 1px 0 rgba(255, 255, 255, .1) !important;
    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
    font: inherit !important;
    font-size: .62rem !important;
    font-weight: 860 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    cursor: zoom-in !important;
    white-space: nowrap !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-open-shot svg {
    flex: 0 0 auto !important;
    width: 13px !important;
    height: 13px !important;
    stroke: currentColor !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-stats-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 5px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-stat-cell {
    min-height: 38px !important;
    padding: 6px 6px 5px !important;
    border-radius: 9px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-stat-label {
    font-size: .45rem !important;
    line-height: 1 !important;
    letter-spacing: .045em !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-stat-val {
    font-size: clamp(.56rem, 2.4vw, .64rem) !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-stat-icon,
  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-shield,
  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-next-panel,
  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-payment-strip,
  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-shop-modal-trust,
  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail #alv-det-verify,
  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-purchase-head {
    display: none !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail #alv-detail-tracker {
    display: block !important;
    margin: 0 !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail #alv-detail-tracker:empty {
    display: none !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail #alv-detail-tracker a {
    min-height: 34px !important;
    padding: 0 10px !important;
    border-radius: 10px !important;
    justify-content: center !important;
    gap: 7px !important;
    font-size: .66rem !important;
    white-space: nowrap !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-right {
    padding: 0 8px 8px !important;
    border: 0 !important;
    overflow: hidden !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-purchase-card {
    display: grid !important;
    grid-template-columns: minmax(96px, .4fr) minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 7px !important;
    padding: 8px !important;
    border-radius: 13px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-price-row {
    grid-column: 1 !important;
    min-height: 42px !important;
    padding: 7px 8px !important;
    border-radius: 11px !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-price {
    font-size: 1.04rem !important;
    line-height: 1 !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-actions-row {
    grid-column: 2 !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-share-btn,
  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail #alv-detail-buy {
    min-height: 42px !important;
    border-radius: 11px !important;
    font-size: .72rem !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-share-btn {
    min-width: 0 !important;
    padding: 0 !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-share-text {
    display: none !important;
  }
}

@media (max-width: 640px) and (max-height: 700px) {
  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-img-wrap,
  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-stage {
    height: clamp(118px, 18svh, 142px) !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail h2#alv-detail-title.alv-shop-modal-title {
    -webkit-line-clamp: 1 !important;
    max-height: 1.12em !important;
  }

  body.alv-shop-page #alv-shop-app:not(.alv-shop-picker-mode) #alv-shop-detail .alv-det-stat-cell {
    min-height: 35px !important;
    padding-top: 5px !important;
    padding-bottom: 4px !important;
  }
}
