:root{--plum:#2E1C28;--text:#2B1B23;--muted:#79626F;--rose:#B23E5E;--line:#E4D2D3;--serif:'Fraunces',Georgia,serif;--sans:'Karla',Arial,sans-serif}
*{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0;color:var(--text);font:17px/1.55 var(--sans);background:radial-gradient(120% 70% at 50% 0%,#FDF7F4 0%,#F6E9E7 46%,#EFE0E4 100%) fixed;-webkit-font-smoothing:antialiased}
.wrap{max-width:560px;margin:auto;padding:32px 20px 56px}.back{display:inline-block;margin-bottom:26px;color:var(--muted);font-size:.9rem;text-decoration:none}
h1{font:600 clamp(2rem,7vw,2.6rem)/1.08 var(--serif);letter-spacing:-.02em;color:var(--plum);margin:0 0 14px}h2{font-size:1rem;color:var(--plum);margin:0 0 18px}p{margin:0 0 18px}.intro{color:var(--muted)}
.box{padding:24px;background:#fff;border:1px solid var(--line);border-radius:16px;margin:24px 0;box-shadow:0 10px 26px -20px #2e1c2880}
.price{font:700 2rem var(--serif);color:var(--plum);margin-bottom:4px}.meta,.hint{font-size:.86rem;color:var(--muted)}.meta{margin:0}.gift{padding-top:18px;margin:18px 0 0;border-top:1px solid var(--line);font-size:.9rem;color:var(--muted)}
label{display:block;font-size:.92rem;margin-bottom:7px}.field{margin-bottom:20px}input{width:100%;padding:13px;border:1.5px solid var(--line);border-radius:11px;font:1rem var(--sans);color:var(--text);background:#fff}input:focus{outline:2px solid var(--rose);outline-offset:-1px}select{width:100%;padding:13px;border:1.5px solid var(--line);border-radius:11px;font:1rem var(--sans);color:var(--text);background:#fff}select:focus{outline:2px solid var(--rose);outline-offset:-1px}.hint{margin:7px 0 0}.accept{display:flex;align-items:flex-start;gap:12px;font-size:.88rem;cursor:pointer}.accept input{width:21px;height:21px;flex:0 0 21px;accent-color:var(--rose);margin:3px 0 0}a{color:var(--rose)}
.pay{display:block;width:100%;padding:17px;border:0;border-radius:12px;text-align:center;text-decoration:none;background:var(--rose);color:#fff;font:700 1.03rem var(--sans);cursor:pointer}.pay:hover{background:#96304D}.pay:focus-visible,a:focus-visible{outline:3px solid var(--plum);outline-offset:3px}.pay:disabled{opacity:.65;cursor:wait}.safe{text-align:center;color:var(--muted);font-size:.83rem;margin:12px 0}.error{color:#96304D;font-size:.92rem}.status{border-left:3px solid var(--rose);padding-left:16px;color:var(--muted)}
@media(min-width:640px){.wrap{padding-top:48px}}
