/* v4.12.12 Pang Bucks mobile polish
   - compact reward surfaces
   - denser, clearer reward cards
   - safe mobile toast placement above bottom navigation
*/
@media (max-width:760px){
  body.points-mobile-polish-v41212 .point-page-v41141{
    width:calc(100% - 14px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  body.points-mobile-polish-v41212 .point-earn-v41141{
    padding:13px 10px 18px!important;
    border-radius:18px!important;
  }

  body.points-mobile-polish-v41212 .point-section-head-v41141{
    gap:8px!important;
    margin-bottom:11px!important;
  }
  body.points-mobile-polish-v41212 .point-section-head-v41141 h2{
    margin-top:3px!important;
    font-size:19px!important;
    line-height:1.2!important;
  }
  body.points-mobile-polish-v41212 .point-section-head-v41141 p{
    margin-top:6px!important;
    font-size:10.5px!important;
    line-height:1.5!important;
  }
  body.points-mobile-polish-v41212 .point-rule-badge-v41141{
    display:none!important;
  }

  /* Reward intro: keep the visual identity but remove the tall empty space. */
  body.points-mobile-polish-v41212 .point-greenp-live-v41166{
    grid-template-columns:40px minmax(0,1fr)!important;
    gap:10px!important;
    padding:13px!important;
    border-radius:17px!important;
  }
  body.points-mobile-polish-v41212 .point-greenp-live-icon-v41166{
    width:40px!important;
    height:40px!important;
    border-radius:12px!important;
    font-size:18px!important;
  }
  body.points-mobile-polish-v41212 .point-greenp-live-copy-v41166 small{
    font-size:8px!important;
  }
  body.points-mobile-polish-v41212 .point-greenp-live-copy-v41166>b{
    margin-top:2px!important;
    font-size:15px!important;
    line-height:1.25!important;
  }
  body.points-mobile-polish-v41212 .point-greenp-live-copy-v41166 p{
    margin-top:4px!important;
    font-size:9.5px!important;
    line-height:1.45!important;
  }
  body.points-mobile-polish-v41212 .point-greenp-live-tags-v41166{
    gap:5px!important;
    margin-top:7px!important;
  }
  body.points-mobile-polish-v41212 .point-greenp-live-tags-v41166 span{
    padding:4px 7px!important;
    font-size:7.5px!important;
  }
  body.points-mobile-polish-v41212 .point-greenp-live-actions-v41166{
    grid-column:1/-1!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:7px!important;
    margin-top:1px!important;
  }
  body.points-mobile-polish-v41212 .point-greenp-live-actions-v41166 .btn{
    min-height:42px!important;
    padding:0 12px!important;
    font-size:11px!important;
    border-radius:11px!important;
  }
  body.points-mobile-polish-v41212 .point-greenp-refresh-v41166{
    min-height:42px!important;
    padding:0 11px!important;
    font-size:9px!important;
    border-radius:11px!important;
  }

  /* Reward list shell/header */
  body.points-mobile-polish-v41212 .point-reward-api-v41175{
    margin-top:11px!important;
    border-radius:17px!important;
  }
  body.points-mobile-polish-v41212 .point-reward-api-head-v41175{
    align-items:center!important;
    padding:13px 12px!important;
    gap:10px!important;
  }
  body.points-mobile-polish-v41212 .point-reward-api-head-v41175 small{
    font-size:8px!important;
  }
  body.points-mobile-polish-v41212 .point-reward-api-head-v41175 h2{
    margin-top:3px!important;
    font-size:18px!important;
    line-height:1.2!important;
  }
  body.points-mobile-polish-v41212 .point-reward-api-head-v41175 p{
    margin-top:5px!important;
    font-size:9.5px!important;
    line-height:1.45!important;
  }
  body.points-mobile-polish-v41212 .point-reward-count-v41175{
    min-width:62px!important;
    padding:7px 8px!important;
    border-radius:14px!important;
  }
  body.points-mobile-polish-v41212 .point-reward-count-v41175 strong{
    display:block!important;
    font-size:24px!important;
    line-height:1.05!important;
  }
  body.points-mobile-polish-v41212 .point-reward-count-v41175 span{
    display:block!important;
    margin:4px 0 0!important;
    font-size:8px!important;
  }

  /* Filters stay one line and swipe horizontally. */
  body.points-mobile-polish-v41212 .point-reward-toolbar-v41176{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    padding:10px 10px 4px!important;
  }
  body.points-mobile-polish-v41212 .point-reward-filter-v41175{
    width:100%!important;
    display:flex!important;
    gap:6px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:0 0 3px!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body.points-mobile-polish-v41212 .point-reward-filter-v41175::-webkit-scrollbar{
    display:none!important;
  }
  body.points-mobile-polish-v41212 .point-reward-filter-v41175 button{
    min-height:38px!important;
    padding:0 12px!important;
    font-size:10px!important;
    border-radius:999px!important;
  }
  body.points-mobile-polish-v41212 .point-reward-sort-v41176{
    display:grid!important;
    grid-template-columns:52px minmax(0,1fr)!important;
    align-items:center!important;
    gap:8px!important;
    width:100%!important;
    font-size:10px!important;
  }
  body.points-mobile-polish-v41212 .point-reward-sort-v41176 select{
    width:100%!important;
    max-width:none!important;
    min-height:42px!important;
    padding-left:12px!important;
    font-size:12px!important;
    border-radius:11px!important;
  }

  body.points-mobile-polish-v41212 .point-reward-status-v41175{
    justify-content:flex-start!important;
    margin:9px 10px 10px!important;
    padding:10px 11px!important;
    min-height:0!important;
    border-radius:11px!important;
    font-size:9.5px!important;
    line-height:1.45!important;
  }

  /* Cards: icon/content first row, points + CTA on a clean footer row. */
  body.points-mobile-polish-v41212 .point-reward-grid-v41175{
    gap:9px!important;
    padding:0 10px 14px!important;
  }
  body.points-mobile-polish-v41212 .point-reward-card-v41175{
    grid-template-columns:64px minmax(0,1fr)!important;
    gap:10px 12px!important;
    align-items:start!important;
    padding:13px!important;
    border-radius:17px!important;
    background:
      radial-gradient(circle at 100% 0,rgba(67,174,220,.055),transparent 30%),
      #0a1720!important;
  }
  body.points-mobile-polish-v41212 .point-reward-card-icon-v41175{
    width:64px!important;
    height:64px!important;
    border-radius:15px!important;
    align-self:start!important;
  }
  body.points-mobile-polish-v41212 .point-reward-card-main-v41175{
    align-self:center!important;
  }
  body.points-mobile-polish-v41212 .point-reward-card-top-v41175{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:5px!important;
  }
  body.points-mobile-polish-v41212 .point-reward-card-top-v41175 strong{
    order:3!important;
    flex:0 0 100%!important;
    margin-top:2px!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    font-size:14px!important;
    line-height:1.28!important;
  }
  body.points-mobile-polish-v41212 .point-reward-type-v41175,
  body.points-mobile-polish-v41212 .point-reward-os-v41176{
    padding:4px 7px!important;
    font-size:8px!important;
  }
  body.points-mobile-polish-v41212 .point-reward-condition-v41175{
    margin-top:6px!important;
    font-size:10.5px!important;
    line-height:1.4!important;
  }
  body.points-mobile-polish-v41212 .point-reward-summary-v41175{
    margin-top:4px!important;
    font-size:9px!important;
    line-height:1.4!important;
    -webkit-line-clamp:2!important;
  }
  body.points-mobile-polish-v41212 .point-reward-card-side-v41175{
    grid-column:1/-1!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(136px,45%)!important;
    align-items:center!important;
    justify-items:stretch!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
    margin-top:2px!important;
    padding-top:10px!important;
    border-top:1px solid rgba(125,174,200,.10)!important;
  }
  body.points-mobile-polish-v41212 .point-reward-card-side-v41175>b{
    justify-self:start!important;
    font-size:24px!important;
    line-height:1!important;
    letter-spacing:-.035em!important;
  }
  body.points-mobile-polish-v41212 .point-reward-card-side-v41175>b small{
    margin-left:3px!important;
    font-size:9px!important;
  }
  body.points-mobile-polish-v41212 .point-reward-card-side-v41175 .btn{
    width:100%!important;
    min-width:0!important;
    min-height:43px!important;
    padding:0 10px!important;
    border-radius:12px!important;
    font-size:11px!important;
  }

  body.points-mobile-polish-v41212 .point-reward-pagination-v41176{
    padding:0 10px 13px!important;
  }

  /* Critical fix: generic motion animation used to override translateX(-50%)
     and push toasts off the right side on mobile. Use inset positioning instead. */
  body.points-mobile-polish-v41212 .toast{
    left:12px!important;
    right:12px!important;
    bottom:calc(78px + env(safe-area-inset-bottom))!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    box-sizing:border-box!important;
    padding:12px 14px!important;
    border-radius:13px!important;
    text-align:left!important;
    white-space:normal!important;
    word-break:keep-all!important;
    overflow-wrap:anywhere!important;
    font-size:11px!important;
    line-height:1.48!important;
    transform:translateY(14px)!important;
    z-index:100000!important;
  }
  body.points-mobile-polish-v41212 .toast.show{
    transform:translateY(0)!important;
  }
  body.points-mobile-polish-v41212 .toast.show:not(:empty){
    animation:none!important;
  }
}

@media (max-width:430px){
  body.points-mobile-polish-v41212 .point-page-v41141{
    width:calc(100% - 10px)!important;
  }
  body.points-mobile-polish-v41212 .point-earn-v41141{
    padding-left:8px!important;
    padding-right:8px!important;
  }
  body.points-mobile-polish-v41212 .point-greenp-live-v41166{
    padding:12px!important;
  }
  body.points-mobile-polish-v41212 .point-reward-grid-v41175{
    padding-left:8px!important;
    padding-right:8px!important;
  }
  body.points-mobile-polish-v41212 .point-reward-card-v41175{
    grid-template-columns:58px minmax(0,1fr)!important;
    padding:12px!important;
  }
  body.points-mobile-polish-v41212 .point-reward-card-icon-v41175{
    width:58px!important;
    height:58px!important;
    border-radius:14px!important;
  }
  body.points-mobile-polish-v41212 .point-reward-card-side-v41175{
    grid-template-columns:minmax(0,1fr) minmax(128px,46%)!important;
  }
}
