/* ══ BORSA Sport Member CSS v4 ════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --blue:      #003580; --blue-l:   #0047AD; --blue-pale: #E8F0FB;
  --yellow:    #F5C400; --yellow-d: #C49A00; --yellow-pale: #FFFBE6;
  --green:     #38A169; --red:      #E53E3E; --purple:   #6B46C1;
  --nav-h:     64px;    --topbar-h: 56px;
  --muted:     #718096;
}
html { -webkit-font-smoothing: antialiased; }
body.bsm-body { font-family:'Plus Jakarta Sans',-apple-system,sans-serif; background:#f0f4ff; min-height:100vh; overflow-x:hidden; color:#1a202c; }

/* ── Screens ──────────────────────────────────────────────────────── */
.bsm-screen { min-height:100vh; }
.bsm-screen.active { animation:bsm-fadein 0.35s cubic-bezier(0.16,1,0.3,1) both; }
@keyframes bsm-fadein { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:none} }

/* ══ WELCOME ══════════════════════════════════════════════════════ */
.bsm-welcome-bg { position:fixed;inset:0;z-index:0;background:linear-gradient(145deg,#001e5e 0%,var(--blue) 50%,#0047AD 100%);overflow:hidden; }
.bsm-bg-circle  { position:absolute;border-radius:50%;background:rgba(245,196,0,0.06); }
.bsm-bg-c1 { width:500px;height:500px;top:-200px;right:-150px;animation:bsm-float 8s ease-in-out infinite alternate; }
.bsm-bg-c2 { width:300px;height:300px;bottom:-100px;left:-80px;animation:bsm-float 11s ease-in-out infinite alternate-reverse; }
.bsm-bg-c3 { width:200px;height:200px;top:40%;left:60%;animation:bsm-float 7s ease-in-out infinite alternate;opacity:.5; }
@keyframes bsm-float { 0%{transform:translate(0,0) scale(1)} 100%{transform:translate(20px,30px) scale(1.05)} }

.bsm-welcome-content { position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 20px;gap:28px; }
.bsm-brand-logo { display:flex;align-items:center;gap:14px;animation:bsm-fadein 0.5s ease 0.1s both; }
.bsm-brand-icon { width:54px;height:54px;border-radius:14px;background:var(--yellow);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(245,196,0,0.3);flex-shrink:0; }
.bsm-brand-name { font-size:24px;font-weight:800;color:#fff;letter-spacing:2px; }
.bsm-brand-name span { color:var(--yellow); }
.bsm-brand-sub  { font-size:12px;color:rgba(255,255,255,0.5);margin-top:2px;letter-spacing:.5px; }
.bsm-welcome-card { background:rgba(255,255,255,0.97);border-radius:24px;padding:32px 28px;width:100%;max-width:360px;box-shadow:0 24px 64px rgba(0,0,0,0.3);animation:bsm-fadein 0.5s ease 0.2s both; }
.bsm-welcome-title { font-size:20px;font-weight:800;color:var(--blue);margin-bottom:6px; }
.bsm-welcome-desc  { font-size:13px;color:var(--muted);margin-bottom:22px; }

/* ID input */
.bsm-id-input-wrap { position:relative;margin-bottom:16px; }
.bsm-id-input { width:100%;padding:14px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:28px;font-weight:800;text-align:center;letter-spacing:10px;text-transform:uppercase;color:var(--blue);background:#f8fafc;transition:all .2s;font-family:'SF Mono',monospace; }
.bsm-id-input:focus { border-color:var(--blue);background:#fff;outline:none;box-shadow:0 0 0 4px rgba(0,53,128,0.08); }
.bsm-id-input::placeholder { letter-spacing:4px;font-size:20px;color:#d1d9e0;font-weight:400; }
.bsm-id-dots { display:flex;justify-content:center;gap:12px;margin-top:10px; }
.bsm-dot { width:12px;height:12px;border-radius:50%;background:#e2e8f0;transition:all .2s; }
.bsm-dot.filled { background:var(--blue);transform:scale(1.2); }
.bsm-dot.active { background:var(--yellow);box-shadow:0 0 0 4px rgba(245,196,0,0.2);animation:bsm-dot-pulse 0.8s ease infinite; }
@keyframes bsm-dot-pulse { 0%,100%{transform:scale(1.2)} 50%{transform:scale(1.4)} }
.bsm-dot-sm { width:8px;height:8px; }

/* Buttons */
.bsm-btn { display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;background:linear-gradient(135deg,var(--blue-l),var(--blue));color:#fff;border:none;border-radius:12px;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 4px 16px rgba(0,53,128,0.3);transition:all .2s; }
.bsm-btn:hover { transform:translateY(-1px);box-shadow:0 8px 24px rgba(0,53,128,0.4); }
.bsm-btn:active { transform:scale(0.98); }
.bsm-btn-sm { display:inline-flex;align-items:center;padding:10px 16px;background:var(--blue);color:#fff;border:none;border-radius:8px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap; }
.bsm-btn-full { width:100%;justify-content:center; }
.bsm-ghost-btn { display:block;width:100%;padding:12px;background:none;border:none;font-family:inherit;font-size:14px;color:#a0aec0;cursor:pointer;margin-top:6px;text-align:center; }
.bsm-welcome-hint { display:flex;align-items:center;gap:6px;font-size:12px;color:#a0aec0;margin-top:12px;text-align:center;justify-content:center; }

/* Alerts */
.bsm-alert { padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:14px; }
.bsm-alert-err { background:#fff5f5;color:#c53030;border:1px solid #fed7d7; }
.bsm-loading { text-align:center;color:#a0aec0;padding:32px;font-style:italic; }

/* ══ DASHBOARD ════════════════════════════════════════════════════ */
#bsm-dashboard { padding-top:var(--topbar-h);padding-bottom:calc(var(--nav-h) + 8px);min-height:100vh; }
.bsm-topbar { position:fixed;top:0;left:0;right:0;z-index:80;height:var(--topbar-h);background:var(--blue);display:flex;align-items:center;gap:12px;padding:0 16px; }
.bsm-back-btn, .bsm-scan-top-btn { background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.15);color:#fff;border-radius:10px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s; }
.bsm-back-btn:hover, .bsm-scan-top-btn:hover { background:rgba(255,255,255,0.2); }
.bsm-topbar-logo { flex:1;text-align:center;font-size:16px;font-weight:800;color:#fff;letter-spacing:1.5px; }
.bsm-topbar-logo span { color:var(--yellow); }

/* Bottom nav */
.bsm-bottom-nav { position:fixed;bottom:0;left:0;right:0;z-index:80;height:var(--nav-h);background:rgba(255,255,255,0.97);backdrop-filter:blur(12px);border-top:1px solid rgba(0,0,0,0.06);display:flex;align-items:center;padding:0 4px;box-shadow:0 -4px 20px rgba(0,0,0,0.06); }
.bsm-nav-btn { flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;background:none;border:none;cursor:pointer;font-family:inherit;font-size:10px;font-weight:500;color:#a0aec0;border-radius:12px;transition:all .18s; }
.bsm-nav-btn.active { color:var(--blue); }
.bsm-nav-btn.active svg { stroke:var(--blue); }
.bsm-scan-fab { color:#fff!important;background:linear-gradient(135deg,var(--blue-l),var(--blue))!important;border-radius:16px!important;padding:10px 8px!important;box-shadow:0 4px 14px rgba(0,53,128,0.35);margin:0 4px;transform:translateY(-6px); }
.bsm-scan-fab svg { stroke:#fff!important; }
.bsm-scan-fab span { color:var(--yellow)!important;font-weight:700; }

.bsm-content { padding:16px; }
.bsm-tab { display:none;animation:bsm-fadein 0.25s ease both; }
.bsm-tab.active { display:block; }
.bsm-tab-title { font-size:18px;font-weight:800;color:#1a202c;margin-bottom:16px; }

/* ══ DIGITAL CARD ═════════════════════════════════════════════════ */
.bsm-digital-card { background:linear-gradient(145deg,#002268,var(--blue),#0047AD);border-radius:22px;padding:22px 20px;color:#fff;position:relative;overflow:hidden;box-shadow:0 16px 48px rgba(0,53,128,0.4);margin-bottom:16px;user-select:none;animation:bsm-card-appear .6s cubic-bezier(0.34,1.56,0.64,1) both; }
@keyframes bsm-card-appear { from{opacity:0;transform:scale(0.9) translateY(20px)} to{opacity:1;transform:scale(1) translateY(0)} }
.bsm-dc-bg-ring { position:absolute;border-radius:50%;border:1px solid rgba(245,196,0,0.1);pointer-events:none; }
.bsm-dc-ring1 { width:300px;height:300px;top:-150px;right:-100px; }
.bsm-dc-ring2 { width:200px;height:200px;bottom:-100px;left:-60px;background:rgba(245,196,0,0.04); }

.bsm-dc-header { display:flex;align-items:center;gap:12px;margin-bottom:18px; }
.bsm-dc-logo-spin-wrap { width:48px;height:48px;flex-shrink:0; }
.bsm-dc-spin { width:48px;height:48px;animation:bsm-spin 5s linear infinite;transform-origin:50% 50%; }
@keyframes bsm-spin { to{transform:rotate(360deg)} }
.bsm-dc-brand-name { font-size:15px;font-weight:800;color:var(--yellow);letter-spacing:1.5px; }
.bsm-dc-brand-sub  { font-size:11px;opacity:.6; }
.bsm-dc-status { margin-left:auto;font-size:10px;font-weight:700;letter-spacing:.5px;padding:4px 10px;border-radius:20px; }
.bsm-dc-status-active   { background:rgba(56,161,105,0.25);color:#9ae6b4;border:1px solid rgba(56,161,105,0.3); }
.bsm-dc-status-revoked  { background:rgba(229,62,62,0.25);color:#feb2b2;border:1px solid rgba(229,62,62,0.3); }
.bsm-dc-status-inactive { background:rgba(255,255,255,0.08);color:rgba(255,255,255,0.4);border:1px solid rgba(255,255,255,0.1); }

.bsm-dc-name   { font-size:22px;font-weight:800;letter-spacing:.3px; }
.bsm-dc-sport  { font-size:12px;opacity:.6;margin-top:3px; }
.bsm-dc-member { margin-bottom:16px; }
.bsm-dc-id-stripe { display:flex;align-items:center;gap:10px;margin-bottom:16px; }
.bsm-dc-stripe-line { flex:1;height:1px;background:rgba(245,196,0,0.25); }
.bsm-dc-id { font-family:'SF Mono','Fira Code',monospace;font-size:20px;font-weight:700;letter-spacing:8px;color:rgba(255,255,255,0.9); }

/* Anti-fraud live zone */
.bsm-dc-live-zone { background:rgba(0,0,0,0.3);border-radius:10px;padding:10px 14px;display:flex;align-items:center;gap:10px;margin-bottom:12px; }
.bsm-dc-live-badge { display:flex;align-items:center;gap:5px; }
.bsm-dc-live-pulse { width:8px;height:8px;border-radius:50%;background:var(--yellow);animation:bsm-live-pulse 1.2s ease-in-out infinite; }
@keyframes bsm-live-pulse { 0%,100%{transform:scale(1);opacity:1} 50%{transform:scale(0.7);opacity:.4} }
.bsm-dc-live-txt  { font-size:9px;font-weight:800;color:var(--yellow);letter-spacing:2px; }
.bsm-dc-clock { margin-left:auto;font-family:'SF Mono',monospace;font-size:20px;font-weight:700;letter-spacing:2px; }
.bsm-dc-date  { font-size:11px;opacity:.5;font-family:monospace; }
.bsm-dc-validity { font-size:11px;opacity:.45;text-align:right; }

/* Revoked overlay */
.bsm-dc-revoked { position:absolute;inset:0;border-radius:22px;background:rgba(0,0,0,0.8);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px); }
.bsm-dc-revoked-x { font-size:40px;color:var(--red);margin-bottom:8px; }
.bsm-dc-revoked-title { font-size:18px;font-weight:700;color:#fff; }
.bsm-dc-revoked-msg { font-size:13px;color:rgba(255,255,255,.6);margin-top:5px;text-align:center; }
.bsm-dc-revoked-inner { text-align:center;padding:20px; }

/* Scan CTA */
.bsm-scan-cta { width:100%;padding:16px;background:rgba(0,53,128,0.07);border:2px dashed rgba(0,53,128,0.25);border-radius:14px;display:flex;align-items:center;justify-content:center;gap:10px;font-family:inherit;font-size:14px;font-weight:700;color:var(--blue);cursor:pointer;transition:all .2s; }
.bsm-scan-cta:hover { background:rgba(0,53,128,0.12);border-color:var(--blue); }

/* Savings mini grid */
.bsm-savings-grid { display:grid;grid-template-columns:1fr 1fr;gap:10px; }
.bsm-savings-card { border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:5px;animation:bsm-fadein .3s ease both; }
.bsm-sc-blue   { background:#EBF4FF; }
.bsm-sc-yellow { background:var(--yellow-pale); }
.bsm-sc-green  { background:#F0FFF4; }
.bsm-sc-purple { background:#F3F0FF; }
.bsm-sc-icon   { font-size:20px; }
.bsm-sc-val    { font-size:22px;font-weight:800;color:#1a202c;line-height:1; }
.bsm-sc-lbl    { font-size:11px;color:var(--muted);font-weight:500; }

/* ── History tab ──────────────────────────────────────────────────── */
.bsm-history-list {}
.bsm-history-item { display:flex;align-items:center;gap:12px;padding:14px;background:#fff;border-radius:12px;margin-bottom:8px;box-shadow:0 1px 4px rgba(0,0,0,0.05);animation:bsm-fadein .25s ease both; }
.bsm-hist-dot { width:10px;height:10px;border-radius:50%;background:var(--yellow);flex-shrink:0; }
.bsm-hist-venue { font-size:13px;font-weight:700; }
.bsm-hist-date  { font-size:11px;color:#a0aec0; }
.bsm-hist-pts   { margin-left:auto;background:#F0FFF4;color:var(--green);font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;white-space:nowrap; }

/* ── Rewards tab ──────────────────────────────────────────────────── */
.bsm-reward-item { display:flex;align-items:flex-start;gap:12px;padding:16px;background:#fff;border-radius:14px;margin-bottom:10px;box-shadow:0 1px 4px rgba(0,0,0,0.05);position:relative;overflow:hidden;animation:bsm-fadein .3s ease both; }
.bsm-reward-pts-badge { background:linear-gradient(135deg,var(--blue-l),var(--blue));color:var(--yellow);font-weight:800;font-size:14px;padding:10px 12px;border-radius:10px;text-align:center;min-width:56px;flex-shrink:0;line-height:1; }
.bsm-reward-pts-badge small { font-size:9px;font-weight:500;display:block;opacity:.8;margin-top:2px; }
.bsm-reward-name    { font-size:13px;font-weight:700; }
.bsm-reward-venue   { font-size:11px;color:#a0aec0;margin-top:2px; }
.bsm-reward-unlocked { position:absolute;top:10px;right:10px;background:#F0FFF4;color:var(--green);font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px; }
.bsm-reward-locked   { position:absolute;top:10px;right:10px;background:#f7fafc;color:#a0aec0;font-size:10px;font-weight:600;padding:2px 8px;border-radius:20px; }
.bsm-reward-progress-track { height:4px;background:#edf2f7;border-radius:2px;margin-top:8px;overflow:hidden; }
.bsm-reward-progress-fill  { height:100%;background:linear-gradient(90deg,var(--blue),var(--blue-l));border-radius:2px;transition:width 1s ease; }
.bsm-section-title { font-size:14px;font-weight:700;color:#1a202c;margin-bottom:12px; }

/* ── QR Scanner ───────────────────────────────────────────────────── */
.bsm-scanner-overlay { position:fixed;inset:0;z-index:200;background:#000;display:flex;flex-direction:column;animation:bsm-fadein .25s ease both; }
.bsm-scanner-header { display:flex;align-items:center;gap:12px;padding:16px 16px 12px;background:rgba(0,0,0,0.8);backdrop-filter:blur(10px);flex-shrink:0; }
.bsm-scanner-close { background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.15);color:#fff;border-radius:10px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer; }
.bsm-scanner-title { font-size:15px;font-weight:700;color:#fff;flex:1;text-align:center; }
.bsm-scanner-body  { flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;gap:20px; }
.bsm-camera-wrap   { position:relative;width:100%;max-width:320px;aspect-ratio:1; }
.bsm-video         { width:100%;height:100%;object-fit:cover;border-radius:16px; }
.bsm-canvas-hidden { display:none; }

.bsm-scan-frame { position:absolute;inset:0;pointer-events:none; }
.bsm-scan-corner { position:absolute;width:24px;height:24px;border-color:var(--yellow);border-style:solid; }
.bsm-sc-tl { top:10px;left:10px;border-width:3px 0 0 3px;border-radius:4px 0 0 0; }
.bsm-sc-tr { top:10px;right:10px;border-width:3px 3px 0 0;border-radius:0 4px 0 0; }
.bsm-sc-bl { bottom:10px;left:10px;border-width:0 0 3px 3px;border-radius:0 0 0 4px; }
.bsm-sc-br { bottom:10px;right:10px;border-width:0 3px 3px 0;border-radius:0 0 4px 0; }
.bsm-scan-laser { position:absolute;left:10px;right:10px;height:2px;background:var(--yellow);box-shadow:0 0 8px var(--yellow),0 0 16px rgba(245,196,0,0.5);animation:bsm-laser-scan 2s linear infinite;top:10%; }
@keyframes bsm-laser-scan { 0%{top:10%} 50%{top:88%} 100%{top:10%} }

.bsm-scanner-hint { font-size:13px;color:rgba(255,255,255,0.65);text-align:center; }
.bsm-manual-wrap  { width:100%;max-width:320px; }
.bsm-manual-or    { text-align:center;font-size:12px;color:rgba(255,255,255,0.35);margin-bottom:10px; }
.bsm-manual-row   { display:flex;gap:8px; }
.bsm-manual-input { flex:1;padding:10px 12px;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);border-radius:8px;color:#fff;font-family:inherit;font-size:13px; }
.bsm-manual-input::placeholder { color:rgba(255,255,255,0.3); }

/* ── Scan Form Sheet ──────────────────────────────────────────────── */
.bsm-overlay-sheet { position:fixed;bottom:0;left:0;right:0;z-index:300;background:#fff;border-radius:24px 24px 0 0;max-height:92vh;overflow-y:auto;box-shadow:0 -8px 40px rgba(0,0,0,0.2);animation:bsm-sheet-up .35s cubic-bezier(0.34,1.2,0.64,1) both; }
@keyframes bsm-sheet-up { from{transform:translateY(100%)} to{transform:translateY(0)} }
.bsm-success-sheet { background:linear-gradient(170deg,#f0fff4 0%,#fff 40%); }
.bsm-sheet-handle  { width:40px;height:4px;border-radius:2px;background:#e2e8f0;margin:12px auto 0; }
.bsm-sheet-content { padding:20px 20px 32px; }

.bsm-sheet-venue   { display:flex;align-items:center;gap:12px;padding:14px;background:var(--blue);border-radius:14px;margin-bottom:14px; }
.bsm-sf-venue-icon { font-size:24px; }
.bsm-sf-venue-name { font-size:15px;font-weight:700;color:#fff; }
.bsm-sf-venue-addr { font-size:12px;color:rgba(255,255,255,0.6);margin-top:2px; }

.bsm-sf-rewards { background:var(--yellow-pale);border-radius:10px;padding:12px;margin-bottom:14px; }
.bsm-sf-rewards-title { font-size:11px;font-weight:700;color:var(--yellow-d);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px; }
.bsm-sf-reward-tag { display:inline-block;margin-right:6px;margin-bottom:5px;background:#fff;border:1px solid #fbd38d;color:var(--yellow-d);font-size:11px;font-weight:600;padding:3px 9px;border-radius:20px; }

.bsm-sf-label { display:block;font-size:12px;font-weight:700;color:#4a5568;margin-bottom:14px; }
.bsm-sf-input { display:block;width:100%;padding:12px 14px;margin-top:5px;border:2px solid #e2e8f0;border-radius:10px;font-family:inherit;font-size:14px;color:#2d3748;background:#f8fafc;transition:border-color .2s; }
.bsm-sf-input:focus { border-color:var(--blue);outline:none;background:#fff;box-shadow:0 0 0 4px rgba(0,53,128,0.07); }
.bsm-sf-id { font-size:28px;font-weight:800;text-align:center;letter-spacing:12px;font-family:'SF Mono',monospace;text-transform:uppercase; }
.bsm-sf-input-row { position:relative; }
.bsm-sf-id-dots { display:flex;justify-content:center;gap:12px;margin-top:8px; }

/* Success */
.bsm-success-icon-wrap { width:72px;height:72px;border-radius:50%;background:#F0FFF4;border:3px solid #c6f6d5;display:flex;align-items:center;justify-content:center;margin:8px auto 16px;animation:bsm-success-pop .5s cubic-bezier(0.34,1.56,0.64,1) both; }
@keyframes bsm-success-pop { from{transform:scale(0);opacity:0} to{transform:scale(1);opacity:1} }
.bsm-success-icon  { font-size:32px;color:var(--green); }
.bsm-success-title { font-size:22px;font-weight:800;color:#1a202c;margin-bottom:4px; }
.bsm-success-venue { font-size:13px;color:var(--muted);margin-bottom:16px; }
.bsm-success-pts-card { background:linear-gradient(135deg,#001e5e,var(--blue));border-radius:16px;padding:18px;color:#fff;margin-bottom:14px; }
.bsm-succ-pts-lbl { font-size:12px;opacity:.7; }
.bsm-succ-pts-val { font-size:48px;font-weight:800;color:var(--yellow);line-height:1; }
.bsm-succ-pts-sub { font-size:12px;opacity:.6;margin-top:4px; }
.bsm-unlocked-banner { display:flex;align-items:center;gap:10px;background:var(--yellow-pale);border:2px solid var(--yellow);border-radius:12px;padding:12px 14px;font-size:13px;font-weight:700;color:var(--yellow-d); }
.bsm-unlocked-star { font-size:20px; }

/* Backdrop */
.bsm-backdrop { position:fixed;inset:0;z-index:200;background:rgba(0,0,0,0.45);backdrop-filter:blur(2px);animation:bsm-fadein .2s ease both; }

/* ── Responsive ───────────────────────────────────────────────────── */
@media (min-width:480px) { .bsm-welcome-content{padding:40px 24px;} .bsm-digital-card{padding:26px 24px;} }
@media (min-width:768px) {
  .bsm-content,.bsm-bottom-nav,.bsm-topbar { max-width:480px;margin:0 auto; }
  .bsm-bottom-nav,.bsm-topbar { left:50%;transform:translateX(-50%);border-left:1px solid rgba(0,0,0,0.06);border-right:1px solid rgba(0,0,0,0.06); }
}
@media (max-width:360px) {
  .bsm-id-input { font-size:22px;letter-spacing:6px; }
  .bsm-dc-clock { font-size:17px; }
  .bsm-dc-name  { font-size:18px; }
  .bsm-savings-grid { grid-template-columns:1fr 1fr;gap:8px; }
}
