.rw-intro,.rw-hero{text-align:center;margin-bottom:28px}
.rw-intro h1,.rw-hero h1{font-family:var(--font-titulo);color:var(--verde);font-size:1.7rem;margin-bottom:8px}
.rw-intro p{color:var(--cinza-500);margin-bottom:20px}
.rw-form{display:flex;flex-direction:column;gap:10px;max-width:360px;margin:0 auto}
.rw-form input{padding:13px 16px;border:1.5px solid var(--cinza-300);border-radius:10px;font-size:.95rem;font-family:inherit}
.rw-msg{margin-top:12px;color:#e53935;font-size:.85rem;min-height:1.2em}
.rw-balance{display:inline-block;background:var(--verde-suave);color:var(--verde);font-weight:700;padding:10px 22px;border-radius:var(--radius-full);font-size:1.1rem}
.rw-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:560px){.rw-grid{grid-template-columns:1fr}}
.rw-card{background:var(--branco);border-radius:var(--radius);overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.07);display:flex;flex-direction:column;align-items:stretch}
.rw-card-disabled .qz-btn:disabled{opacity:.5;cursor:not-allowed}
.rw-card-discount{background:var(--laranja);color:#fff;font-family:var(--font-titulo);font-size:2rem;font-weight:700;padding:20px 16px;flex:0 0 160px;text-align:center;display:flex;align-items:center;justify-content:center}
.rw-card-cover{flex:0 0 200px;align-self:stretch;overflow:hidden;background:var(--verde-suave)}
.rw-card-cover img{width:100%;height:100%;object-fit:cover;display:block}
.rw-card-discount-tag{display:inline-block;background:var(--laranja);color:#fff;font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:var(--radius-full);margin-bottom:6px}
.rw-card-body{padding:16px;flex:1}
.rw-card-body h3{font-size:1rem;margin-bottom:4px;color:var(--preto)}
.rw-card-cost{font-size:.8rem;color:var(--cinza-500);margin-bottom:10px}
.rw-empty{grid-column:1/-1;text-align:center;color:var(--cinza-500);padding:40px 0}

.rw-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}
.rw-modal{background:#fff;border-radius:var(--radius);padding:32px 26px;max-width:380px;width:100%;text-align:center}
.rw-modal-badge{display:inline-block;background:var(--laranja);color:#fff;font-weight:700;padding:5px 16px;border-radius:var(--radius-full);font-size:.85rem;margin-bottom:14px}
.rw-modal h2{font-family:var(--font-titulo);margin-bottom:8px}
.rw-modal p{color:var(--cinza-500);margin-bottom:16px}
.rw-code-box{background:var(--cinza-100);border:2px dashed var(--verde);border-radius:10px;padding:16px;font-size:1.3rem;font-weight:700;letter-spacing:.05em;color:var(--verde);margin-bottom:14px;word-break:break-all;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.rw-copy-btn{background:var(--verde);color:#fff;border:none;border-radius:8px;padding:8px 14px;font-size:.8rem;font-weight:700;cursor:pointer;flex-shrink:0;white-space:nowrap}
.rw-copy-btn:hover{background:var(--verde-claro)}
.rw-modal-hint{font-size:.78rem;margin-bottom:18px}
.rw-modal .qz-btn{width:100%;margin-bottom:10px}
.rw-btn-download{background:var(--verde);color:#fff;display:block;width:100%}
.rw-btn-download:hover{background:var(--verde-claro)}

.rw-section-title{font-family:var(--font-titulo);font-size:1.2rem;color:var(--preto);margin:28px 0 14px}
.rw-section-title:first-child{margin-top:0}

.rw-progress-wrap{margin:10px 0 14px}
.rw-progress-bar{height:8px;background:var(--cinza-300);border-radius:var(--radius-full);overflow:hidden}
.rw-progress-fill{height:100%;background:var(--verde);border-radius:var(--radius-full);transition:width .3s ease}
.rw-card-disabled .rw-progress-fill{background:var(--laranja)}
.rw-progress-label{font-size:.72rem;color:var(--cinza-500);margin-top:5px}

.rw-existing-points{background:var(--verde-suave);color:var(--verde);font-weight:600;padding:10px 18px;border-radius:12px;margin-bottom:14px;font-size:.9rem}