/* V78 — mobile placement and spacing correction */
html,body{max-width:100%;overflow-x:hidden}

/* Premium collection: one centered card, no off-canvas layout on phones. */
@media (max-width:700px){
  #brands{overflow:hidden}
  .premium-collection{width:100%;max-width:100%;margin:28px auto 18px;padding:0 14px;overflow:hidden}
  .premium-collection-stage{min-height:468px;height:468px;overflow:hidden;perspective:none}
  .premium-collection-card,
  .premium-collection-card.is-prev,
  .premium-collection-card.is-next{
    left:0!important;right:0!important;top:0!important;width:100%!important;max-width:100%!important;min-height:448px!important;height:448px!important;margin:0!important;
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;
    transform:translate3d(28px,0,0) scale(.97)!important;filter:none!important;border-radius:22px!important;
  }
  .premium-collection-card.is-active{
    opacity:1!important;visibility:visible!important;pointer-events:auto!important;
    transform:translate3d(0,0,0) scale(1)!important;animation:activeCardFloatMobile 4.4s ease-in-out infinite!important;z-index:5!important;
  }
  .premium-collection-card .manufacturer-face{height:100%!important;min-height:0!important;padding:22px!important;justify-content:flex-start!important;align-items:stretch!important}
  .premium-collection-card .manufacturer-logo{height:132px!important;min-height:132px!important;margin:0 0 18px!important;padding:12px 16px!important;border-radius:16px!important}
  .premium-collection-card .manufacturer-logo img{max-width:100%!important;max-height:100%!important;object-fit:contain!important}
  .premium-collection-card span{font-size:1.12rem!important;line-height:1.15!important;text-align:left!important}
  .premium-collection-card p{font-size:.98rem!important;line-height:1.55!important;min-height:0!important;margin:16px 0 18px!important;text-align:left!important}
  .premium-collection-card .text-link{align-self:flex-start!important;margin-top:auto!important;padding:14px 20px!important}
  .premium-collection-controls{position:relative;z-index:8;width:100%;max-width:420px;margin:14px auto 0;grid-template-columns:48px 1fr 48px;gap:10px}
  .collection-arrow{width:46px;height:46px}
  .collection-dots{gap:7px;overflow:hidden}
  .collection-dot{flex:0 0 auto}
  @keyframes activeCardFloatMobile{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-7px,0)}}
}

/* Rewards page mobile header: compact, centered, and contained. */
@media (max-width:700px){
  .header{top:44px!important;left:0!important;right:0!important}
  .header-inner{width:calc(100% - 20px)!important;height:104px!important;margin:0 auto!important;padding:10px 14px!important;border-radius:0 0 22px 22px!important;display:grid!important;grid-template-columns:1fr 58px!important;gap:10px!important;align-items:center!important}
  .header .brand{display:flex!important;align-items:center!important;justify-content:flex-start!important;min-width:0!important;overflow:hidden!important}
  .header .brand img{display:block!important;width:min(225px,70vw)!important;max-width:100%!important;height:auto!important;margin:0!important;object-fit:contain!important;filter:none!important}
  .header .menu{display:grid!important;place-items:center!important;width:54px!important;height:54px!important;margin:0!important;justify-self:end!important}
  .rewards-hero-image-v70>img{padding-top:104px!important}
}

/* Rewards member-card presentation: remove excess empty stage and keep card contained. */
@media (max-width:700px){
  .card-showcase{display:block!important}
  .story{margin-bottom:26px!important;padding:28px 22px!important}
  .card-stage{min-height:0!important;height:auto!important;padding:22px 14px!important;border-radius:24px!important;display:block!important}
  .reward-card{width:100%!important;max-width:100%!important;aspect-ratio:auto!important;min-height:360px!important;padding:22px!important;border-radius:22px!important;animation:none!important}
  .card-top img{width:145px!important;max-width:48%!important}
  .member-pill{padding:8px 14px!important;font-size:10px!important}
  .balance{margin-top:28px!important}
  .balance strong{font-size:78px!important}
  .progress{margin-top:24px!important}
  .card-bottom{margin-top:24px!important;gap:14px!important;align-items:flex-end!important}
  .member-no{min-width:0!important}
  .member-no strong{font-size:17px!important;letter-spacing:.07em!important;overflow-wrap:anywhere!important}
  .card-since{font-size:10px!important;white-space:nowrap!important}
}

/* Rewards brand wall: show complete logos with balanced cards. */
@media (max-width:700px){
  .brand-wall{padding:76px 0!important}
  .brand-wall .head{margin-bottom:28px!important}
  .brand-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;width:100%!important}
  .brand-card{width:100%!important;height:112px!important;min-height:112px!important;padding:12px!important;border-radius:16px!important;overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important}
  .brand-card img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:86px!important;object-fit:contain!important;object-position:center!important}
  .brand-card:last-child{grid-column:1/-1;width:calc(50% - 6px)!important;justify-self:start!important}
}

/* General mobile rhythm and section containment. */
@media (max-width:700px){
  .section{padding:78px 0!important}
  .head{margin-bottom:36px!important}
  .head h2{font-size:clamp(48px,13vw,72px)!important;line-height:.9!important}
  .join{gap:24px!important}
  .join-form-card,.join-copy{min-width:0!important}
  .rewards-hero-copy-v70{padding-left:18px!important;padding-right:18px!important}
}
