.shop-header{padding:1rem;display:flex;align-items:center;justify-content:space-between;max-width:1000px;margin:0 auto}
.shop-header .brand{font-weight:700;font-size:1.15rem;color:var(--ink);text-decoration:none;letter-spacing:.02em}
.shop-header a.back{color:var(--muted);text-decoration:none;font-size:.9rem}
.hero{max-width:1000px;margin:0 auto;padding:2rem 1rem 1rem;display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center}
.hero h1{font-size:2.4rem;font-weight:700;letter-spacing:-.01em;margin-bottom:.75rem}
.hero p.lead{font-size:1.1rem;color:var(--muted);max-width:34rem}
.voucher-preview{background:var(--surface);border-radius:16px;padding:1.4rem;border:1px solid var(--line);position:relative;overflow:hidden;box-shadow:0 20px 40px -30px rgba(30,42,37,.45)}
.voucher-preview::before{content:"";position:absolute;left:0;top:0;bottom:0;width:12px;background:var(--green)}
.voucher-preview::after{content:"";position:absolute;left:12px;top:0;bottom:0;width:3px;background:var(--gold)}
.voucher-preview .amt{font-size:3rem;font-weight:700;margin:.5rem 0 0 .5rem}
.voucher-preview .lbl{color:var(--muted);margin-left:.5rem}
.voucher-preview .meta{margin:.9rem 0 0 .5rem;color:var(--muted);font-size:.85rem}
.nominals{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.2rem 0}
.nominals a,.nominals label{display:inline-flex;align-items:center;justify-content:center;min-width:92px;padding:.7rem 1rem;border-radius:12px;border:2px solid var(--line);background:#fff;color:var(--ink);text-decoration:none;font-weight:600;cursor:pointer;margin:0}
.nominals a:hover,.nominals label:hover{border-color:var(--green)}
.nominals input{position:absolute;opacity:0;width:0;height:0}
.nominals input:checked+span,.nominals label.on{color:var(--green-deep)}
.nominals label:has(input:checked){border-color:var(--green);background:var(--ok-soft)}
.how{max-width:1000px;margin:0 auto;padding:1rem 1rem 3rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.how div{border-top:2px solid var(--gold);padding-top:.7rem}
.how h3{margin-bottom:.2rem}
.how p{color:var(--muted);font-size:.93rem;margin:0}
.buy{max-width:680px;margin:0 auto;padding:1rem}
.summary{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1rem;margin:1rem 0;display:flex;justify-content:space-between;align-items:baseline}
.summary .total{font-size:1.5rem;font-weight:700}
.status-box{max-width:600px;margin:2rem auto;text-align:center}
.status-box .big{font-size:1.5rem;font-weight:700;margin:.5rem 0}
.legal{max-width:760px;margin:0 auto;padding:1rem;font-size:.95rem}
.legal h2{margin-top:1.5rem}
@media (max-width:760px){.hero{grid-template-columns:1fr;padding-top:1rem}.hero h1{font-size:1.9rem}}
