:root { --si-green: #174f3a; --si-accent: #f2a51a; --si-ink: #18332a; }
.si-access-overlay { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: 18px; background: linear-gradient(145deg, rgba(16,55,42,.97), rgba(25,92,64,.96)); font-family: Geist, system-ui, sans-serif; }
.si-access-card { width: min(100%, 470px); max-height: calc(100vh - 36px); overflow: auto; background: #fff; border-radius: 28px; padding: 28px 24px 22px; box-shadow: 0 25px 70px rgba(0,0,0,.3); color: var(--si-ink); }
.si-access-logo { width: 60px; height: 60px; display: grid; place-items: center; border-radius: 18px; background: var(--si-accent); color: #17382c; font-size: 23px; font-weight: 900; }
.si-access-card h1 { margin: 20px 0 10px; font-size: clamp(28px, 8vw, 40px); line-height: 1.04; letter-spacing: -.04em; }
.si-access-card h1 em { display: block; color: #1d7652; font-style: normal; }
.si-access-card > p { margin: 0 0 18px; color: #53675f; font-size: 16px; line-height: 1.5; }
.si-price { display: flex; align-items: center; gap: 14px; margin: 18px 0; padding: 16px; border-radius: 18px; background: #fff7e7; border: 1px solid #f4d18b; }
.si-price strong { font-size: 30px; color: #194d39; }
.si-price span { font-size: 13px; line-height: 1.35; color: #52645d; }
.si-benefits { display: grid; gap: 9px; margin: 18px 0 22px; }
.si-benefits span { display: flex; gap: 9px; align-items: start; font-size: 14px; }
.si-benefits b { color: #1d7652; }
.si-access-actions { display: grid; gap: 10px; }
.si-access-actions button { min-height: 50px; border: 0; border-radius: 14px; padding: 12px 16px; font: inherit; font-weight: 800; cursor: pointer; }
.si-buy { background: var(--si-accent); color: #18382d; }
.si-demo { background: var(--si-green); color: #fff; }
.si-restore { background: transparent; color: #486057; text-decoration: underline; }
.si-access-note { display: block; margin-top: 13px; text-align: center; color: #708079; font-size: 11px; }
.si-demo-badge { position: fixed; top: 78px; right: 10px; z-index: 9000; border: 0; border-radius: 999px; padding: 8px 12px; background: #fff3d6; color: #61410b; box-shadow: 0 4px 16px rgba(0,0,0,.14); font-size: 12px; font-weight: 850; cursor: pointer; }
.si-toast { position: fixed; left: 50%; bottom: 88px; z-index: 11000; transform: translateX(-50%); width: min(calc(100% - 28px), 440px); padding: 14px 16px; border-radius: 14px; background: #173d30; color: white; box-shadow: 0 10px 35px rgba(0,0,0,.28); text-align: center; font-size: 14px; }
body.si-demo-mode .filters button:nth-of-type(n+2), body.si-demo-mode .bottom-nav button:last-child { opacity: .42; }
body.si-demo-mode .store-grid article:nth-of-type(n+4), body.si-demo-mode .results article:nth-of-type(n+4) { display: none !important; }
@media (max-width: 520px) { .si-access-card { padding: 23px 19px 18px; border-radius: 23px; } .si-demo-badge { top: 70px; } }

