/* Customer rewards and campaign pages: mobile-only, no admin overrides. */
@media (max-width:767px){
 body.mobile-rewards{font-size:14px;line-height:1.5}
 .mobile-rewards :is(.points-wrap,.task-shell,.gift-shell){width:100%;max-width:100%;box-sizing:border-box;margin:0 auto;padding:12px 12px 90px}
 .mobile-rewards :is(button,input,select,textarea){max-width:100%;box-sizing:border-box}
 .mobile-rewards :is(input,select,textarea){font-size:16px;min-width:0}
 .mobile-rewards :is(button,.task-link){min-height:44px}
 .mobile-rewards :is(h1,h2,h3,p,small,b,strong){overflow-wrap:anywhere}
 .mobile-rewards :is(.points-nav,.task-top){padding:10px 12px;gap:10px;flex-wrap:wrap}
 .mobile-rewards :is(.points-nav nav,.task-top nav){gap:12px;flex-wrap:wrap;font-size:13px}
 .mobile-rewards .points-hero{padding:16px;border-radius:12px;display:grid;gap:12px;background:#fff;color:#172b48;border:1px solid #dfe7ee}
 .mobile-rewards .points-hero h1{font-size:32px;margin:2px 0}
 .mobile-rewards .points-hero p{margin:6px 0 0;font-size:12px}
 .mobile-rewards .points-hero button{width:100%;background:#ff7412;color:white}
 .mobile-rewards .points-streak{font-size:12px;color:#52657b}
 .mobile-rewards .points-progress{gap:4px;margin:10px 0}
 .mobile-rewards .points-progress>span{padding:7px 2px}
 .mobile-rewards .points-tabs{display:flex;gap:6px;overflow-x:auto;flex-wrap:nowrap;padding:4px 0;margin:10px 0}
 .mobile-rewards .points-tabs a{display:flex;align-items:center;min-height:44px;white-space:nowrap;padding:6px 10px;flex-shrink:0}
 .mobile-rewards .points-panel{padding:12px;border-radius:12px;margin:12px 0}
 .mobile-rewards h2{font-size:18px;margin:8px 0}
 .mobile-rewards .points-grid{grid-template-columns:minmax(0,1fr);gap:10px}
 .mobile-rewards .points-reward{display:grid;grid-template-columns:80px minmax(0,1fr);gap:6px 12px;padding:12px;min-width:0}
 .mobile-rewards .points-reward>img{grid-column:1;grid-row:1 / 4;width:80px;height:80px;object-fit:contain}
 .mobile-rewards .points-reward>:not(img){grid-column:2;margin:0;min-width:0}
 .mobile-rewards .points-reward>h3{font-size:14px;line-height:1.45}
 .mobile-rewards .points-reward>p{font-size:12px}
 .mobile-rewards .points-reward>strong{font-size:20px}
 .mobile-rewards .points-reward>:is(small,button){grid-column:1 / -1}
 .mobile-rewards .points-reward:not(:has(img))>*{grid-column:1 / -1}
 .mobile-rewards .points-primary{background:#ff7412;color:#fff}
 .mobile-rewards .points-row{gap:8px;padding:10px 0;min-width:0}
 .mobile-rewards .points-row>div{min-width:0}
 .mobile-rewards .points-row a{display:inline-flex;align-items:center;min-height:44px}
 .mobile-rewards .gift-shell header{margin-bottom:12px;gap:8px;align-items:flex-start;flex-direction:column}
 .mobile-rewards .gift-shell h1,.mobile-rewards .task-hero h1{font-size:24px;margin:4px 0}
 .mobile-rewards .gift-shell header p{margin:4px 0;font-size:13px}
 .mobile-rewards .gift-account-totals{gap:6px;margin:12px 0}
 .mobile-rewards .gift-account-totals>div{padding:10px 8px;gap:3px}
 .mobile-rewards .gift-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .mobile-rewards .gift-filters input{grid-column:1 / -1;width:100%}
 .mobile-rewards .gift-filters :is(select,button){width:100%;min-height:44px}
 .mobile-rewards .gift-filters button{grid-column:1 / -1}
 .mobile-rewards .gift-card{padding:12px;margin:10px 0}
 .mobile-rewards .gift-row img{width:64px;height:64px;flex-shrink:0}
 .mobile-rewards .gift-row h3{font-size:14px}
 .mobile-rewards .gift-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:10px 0}
 .mobile-rewards .gift-counts span{padding:6px 8px;font-size:12px}
 .mobile-rewards .gift-history summary{min-height:44px;align-content:center;cursor:pointer}
 .mobile-rewards .task-hero>p{font-size:13px;margin:4px 0 10px}
 .mobile-rewards .task-tabs{margin:12px 0;padding-bottom:8px}
 .mobile-rewards .task-card,.mobile-rewards .task-panel{padding:12px;gap:8px}
 .mobile-rewards .task-grid{gap:10px}
 .mobile-rewards .task-card h3{-webkit-line-clamp:unset;display:block;font-size:14px}
 .mobile-rewards .task-note{font-size:13px;padding:8px 10px}
 .mobile-rewards .task-empty{padding:20px 12px}
 .mobile-rewards .task-copy{max-height:180px;padding:10px}
 .mobile-rewards .task-form>button{justify-self:stretch}
 body.mobile-campaign :is(.preorder-list-main,.preorder-batch-main,.group-buy-main){padding-bottom:90px}
 body.mobile-campaign :is(.preorder-list-hero,.preorder-shipment-hero,.group-buy-hero){padding:12px!important;gap:10px;min-height:0}
 body.mobile-campaign :is(.preorder-shipment-hero,.group-buy-hero){display:grid;grid-template-columns:minmax(0,1fr)}
 body.mobile-campaign :is(.preorder-list-hero,.preorder-shipment-hero,.group-buy-hero) h1{font-size:22px!important;line-height:1.3;margin:4px 0}
 body.mobile-campaign :is(.preorder-list-hero,.preorder-shipment-hero,.group-buy-hero) p{font-size:13px;line-height:1.5;margin:6px 0}
 body.mobile-campaign :is(.preorder-list-grid,.group-buy-grid){grid-template-columns:minmax(0,1fr);gap:12px}
 body.mobile-campaign :is(.home-shipment-body,.group-buy-card-body,.group-buy-detail-card){padding:12px}
 body.mobile-campaign .group-buy-image{height:160px;min-height:0}
 body.mobile-campaign .group-buy-image img{height:100%;object-fit:contain}
 body.mobile-campaign .group-buy-detail-grid{grid-template-columns:minmax(0,1fr);gap:12px}
 body.mobile-campaign .group-buy-detail-grid>img{width:100%;max-height:220px;object-fit:contain}
 body.mobile-campaign .shipment-product-row{display:grid!important;grid-template-columns:76px minmax(0,1fr)!important;gap:10px!important;padding:12px!important}
 body.mobile-campaign .shipment-product-image{width:76px!important;height:76px!important;min-height:0!important}
 body.mobile-campaign .shipment-product-info{min-width:0}
 body.mobile-campaign .shipment-product-buy{grid-column:1 / -1;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 10px}
 body.mobile-campaign .shipment-product-buy>:is(span,b,small){grid-column:1 / -1}
 body.mobile-campaign .shipment-product-buy>.commerce-v4-primary{width:100%;min-width:0;padding:8px}
 body.mobile-campaign .shipment-qty-control{width:100%;display:grid;grid-template-columns:40px minmax(0,1fr) 40px}
 body.mobile-campaign .shipment-qty-control input{width:100%;min-width:0;font-size:16px}
 body.mobile-campaign .shipment-qty-control button{width:40px;min-height:44px}
 body.mobile-campaign .shipment-checkout-bar{position:static!important;display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:12px;padding:12px}
 body.mobile-campaign .shipment-checkout-bar>a{min-height:44px;width:100%;text-align:center}
 body.mobile-campaign :is(.group-buy-specs,.group-buy-join-form){min-width:0}
 body.mobile-campaign :is(.group-buy-join-form input,.group-buy-join-form select){font-size:16px;min-height:44px;max-width:100%}
 body.mobile-campaign :is(h1,h2,h3,b,small,.group-buy-title){overflow-wrap:anywhere}
}
