.loyalty-home{padding:20px 0 12px;min-width:0;overflow:hidden}
.loyalty-home[hidden],.loyalty-home [hidden]{display:none!important}
.loyalty-home .section-heading{margin-bottom:14px}
.loyalty-status{margin:6px 0 14px;border:1px solid #7c3aed;border-radius:14px;background:#f4edff;padding:12px;color:#36135d;font-weight:700}
.loyalty-balance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 22px}
.loyalty-balance-grid>div{background:#fff;border:2px solid #25133b;box-shadow:3px 4px 0 #25133b;border-radius:18px;padding:15px 10px;min-width:0}
.loyalty-balance-grid small{font-size:11px;font-weight:700;color:#5c5370;display:block}
.loyalty-balance-grid strong{font-size:clamp(17px,5vw,27px);color:#5c249b;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.loyalty-subtitle{font-size:1.18rem;font-weight:800;margin:18px 0 12px;color:#241143}
.loyalty-reward-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}
.loyalty-reward-card,.loyalty-promo-widget{min-width:0;border:2px solid #25133b;box-shadow:3px 4px 0 #25133b;background:#fff;border-radius:18px;padding:13px;display:flex;flex-direction:column;gap:9px}
.loyalty-reward-card img{width:100%;height:125px;object-fit:cover;border-radius:12px;background:#efe7f5}
.loyalty-reward-card h3,.loyalty-promo-widget strong{font-size:1rem;color:#231137;font-weight:800;line-height:1.25;overflow-wrap:anywhere}
.loyalty-reward-card p,.loyalty-promo-widget p{font-size:.82rem;color:#544868;margin:0;overflow-wrap:anywhere}
.loyalty-reward-card button,.loyalty-action,.loyalty-code-form button{background:#8b5cf6;color:#fff!important;border:2px solid #25133b;border-radius:13px;padding:10px 12px;font-weight:750;font-size:.82rem;text-align:center;text-decoration:none;cursor:pointer}
.loyalty-reward-card button:disabled,.loyalty-action:disabled{background:#ddd5e7;color:#4a3f58!important;cursor:not-allowed;opacity:.9}
.loyalty-promotions{display:grid;grid-template-columns:1fr;gap:12px}
.loyalty-promo-widget>div{display:flex;flex-wrap:wrap;gap:8px}
.loyalty-code-form{padding:14px;border-radius:16px;background:#efe7f5;margin-top:18px;min-width:0}
.loyalty-code-form label{display:block;font-weight:700;font-size:.85rem;margin-bottom:8px}
.loyalty-code-form>div{display:flex;gap:8px;min-width:0}
.loyalty-code-form input{min-width:0;flex:1;border:2px solid #7b6b9a;background:#fff;border-radius:11px;padding:10px;font-size:16px}
.loyalty-history{margin-top:18px;border:2px solid #e7def2;border-radius:14px;padding:12px;background:#fff;min-width:0}
.loyalty-history summary{font-weight:700;cursor:pointer;color:#4a247f}
.loyalty-history ul{padding:0;margin:10px 0 0;list-style:none;max-height:300px;overflow:auto}
.loyalty-history li{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #ece8f2;font-size:.82rem}
.loyalty-history li span{overflow-wrap:anywhere;min-width:0}.loyalty-history small{color:#80738d}
.loyalty-history b{white-space:nowrap}.loyalty-history b.plus{color:#13805a}.loyalty-history b.minus{color:#b02646}
@media(min-width:700px){.loyalty-reward-list{grid-template-columns:repeat(3,minmax(0,1fr))}.loyalty-promotions{grid-template-columns:repeat(2,minmax(0,1fr))}.loyalty-reward-card img{height:145px}}
@media(max-width:345px){.loyalty-balance-grid{gap:6px}.loyalty-balance-grid>div{padding:10px 6px}.loyalty-reward-list{grid-template-columns:1fr}.loyalty-code-form>div{flex-direction:column}.loyalty-code-form button{width:100%}}

.loyalty-verify-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px}.loyalty-verify-actions button{flex:1;min-width:130px}

@media(max-width:520px){.loyalty-balance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
