:root{--surface:#fff;--canvas:#f4f3ef;--ink:#24282b;--muted:#555c63;--border:#adb1b4;--gold:#eed99e;--action:#24282b;--danger:#9c2020;--radius:12px;--gap:16px;--control:56px}
*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font:18px/1.5 system-ui,sans-serif}main{max-width:760px;margin:auto;padding:24px 20px 160px}.brand{background:var(--ink);color:#fff;text-align:center;padding:20px}.brand img{max-width:100%;height:auto;object-fit:contain;display:block;margin:auto}.brand p{margin:8px 0 0;font-size:16px}h1{font-size:32px;line-height:1.2;margin:12px 0}h2{font-size:22px;line-height:1.3}p{margin:12px 0}.lists{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:24px 0}.lists button{font-size:17px;padding:14px 8px}.lists span{display:block;font-size:13px;font-weight:400;margin-top:6px}.lists [aria-pressed=true]{background:var(--action);color:#fff;border-color:var(--action)}button,input,select,a.primary{font:inherit;min-height:var(--control);border-radius:var(--radius)}button{border:1px solid var(--border);background:var(--surface);color:var(--ink);padding:12px 18px;cursor:pointer;font-weight:650}button:hover{border-color:var(--ink)}button:active{transform:translateY(1px)}button:disabled{cursor:wait;opacity:.65}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #2269bc;outline-offset:3px}label{font-weight:650;display:block;margin:20px 0 8px}input,select{border:1px solid var(--border);padding:12px;width:100%;background:#fff;color:var(--ink)}input[type=number]{appearance:textfield}input::-webkit-inner-spin-button{appearance:none}.notice{background:#fff6da;border-left:4px solid #806720;padding:14px 16px;border-radius:6px;font-size:16px}.section-title{margin:30px 0 8px;font-size:18px;color:var(--muted);letter-spacing:.03em}.product{padding:20px;margin:12px 0;border:1px solid #d5d6d5;border-radius:var(--radius);background:var(--surface)}.product h3{font-size:20px;line-height:1.4;margin:0 0 8px;font-weight:650}.price{font-size:23px;font-weight:750;margin:0 0 12px}.quantity{display:grid;grid-template-columns:56px minmax(80px,1fr) 56px;gap:8px;align-items:center}.quantity label{grid-column:1/-1;margin:0;font-size:16px;font-weight:400}.quantity button{font-size:25px;padding:6px}.quantity input{text-align:center;min-width:0}.add{width:100%;margin-top:12px}.primary{background:var(--action);color:#fff;border:2px solid var(--action);width:100%;display:block;text-decoration:none;text-align:center;padding:14px;font-weight:700}.remove{margin-top:12px;width:100%;font-size:16px}.total{font-size:26px;font-weight:750}.basket-bar{position:fixed;bottom:0;left:0;right:0;padding:12px 16px max(12px,env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid #d5d6d5;z-index:2}.basket-bar button{max-width:720px;margin:auto;display:flex;justify-content:space-between;gap:16px}.error{padding:16px;border:2px solid var(--danger);border-radius:var(--radius);color:var(--danger);background:#fff}footer{margin-top:32px;font-size:16px}footer a{color:var(--ink);font-weight:700;display:inline-block;padding:10px 0}dialog{border:0;border-radius:16px;max-width:440px;width:calc(100% - 32px);padding:24px}dialog::backdrop{background:#0009}dialog button{width:100%;margin-top:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[hidden]{display:none!important}#basket>button:first-child{width:100%;margin-bottom:18px}#checkout,#handoff{margin:20px 0}
.order-flow{list-style:none;margin:20px 0 28px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.order-flow li{min-width:0;padding:12px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-size:15px}.order-flow strong,.order-flow span{display:block}.order-flow span{margin-top:4px;color:var(--muted);font-size:13px;line-height:1.3}.order-flow .done{background:var(--action);border-color:var(--action);color:#fff}.order-flow .done span{color:#fff}.next-step{margin:28px 0 16px;padding:20px;border:2px solid var(--ink);border-radius:var(--radius);background:var(--surface)}.next-step h2{margin:0 0 12px}.next-step p:last-child{margin-bottom:0}.after-button{font-size:16px;color:var(--muted)}.success{background:#edf7ee;border-left-color:#2f6f38}
@media(max-width:520px){.order-flow{grid-template-columns:1fr 1fr}.order-flow li{padding:12px}}
@media(max-width:380px){main{padding-left:12px;padding-right:12px}.lists{grid-template-columns:1fr}.lists button{text-align:left;padding:12px 16px}.lists span{display:inline;margin-left:8px}.product{padding:16px}.basket-bar button{flex-wrap:wrap}h1{font-size:28px}.next-step{padding:16px}}
.price-downloads{margin:18px 0 24px;padding:16px 18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.price-downloads h2{font-size:18px;margin:0 0 12px}.price-downloads div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.price-downloads a{min-height:48px;display:flex;align-items:center;justify-content:center;border:1px solid var(--ink);border-radius:10px;color:var(--ink);font-weight:700;text-decoration:none;padding:10px}
.category-picker{margin:22px 0}.category-picker h2{font-size:18px;margin:0 0 10px}.categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.categories button{min-height:48px;padding:9px 12px;font-family:inherit;font-size:15px;line-height:1.25;text-align:left}.categories [aria-pressed=true]{background:var(--action);border-color:var(--action);color:#fff}.basket-actions{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:10px;margin:20px 0}.basket-actions button{margin:0}.basket-actions .primary{width:100%}
@media(max-width:520px){.basket-actions{grid-template-columns:1fr}.basket-actions #edit-products{order:2}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}button:active{transform:none}}
/* Three-step mobile catalog: choose price, choose goods, review order. */
#intro{padding-top:8px}#intro h1{margin:8px 0;font-size:26px}#intro>p{margin:8px 0;color:var(--muted)}#intro .lists{margin:20px 0 0}
#catalog-stage h1,#basket h1{font-size:24px;margin:8px 0}#catalog-stage .quiet,#basket .quiet{min-height:48px;padding:8px 0;border:0;background:none;color:var(--ink);font-weight:600}#basket>button:first-child{width:auto;margin-bottom:0}
.catalog-hint{font-size:14px;color:var(--muted);line-height:1.4;margin:8px 0 12px}.category-picker{margin:12px 0}.category-picker h2{font-size:16px;margin:0 0 8px}.categories{gap:8px}.categories button{min-height:48px;padding:8px 10px;font-size:14px}
.section-title{font-size:16px;margin:18px 0 6px}.product{padding:12px;margin:8px 0}.product h3{font-size:17px;line-height:1.3;margin:0 0 4px}.product .price{font-size:18px;line-height:1.3;margin:0 0 8px}.product .quantity{grid-template-columns:48px minmax(70px,1fr) 48px;gap:8px}.product .quantity label{font-size:14px;line-height:1.25}.product .quantity button,.product .quantity input{min-height:48px;padding:6px}.product .add,.product .remove{min-height:48px;margin-top:8px;padding:8px 12px;font-size:16px}
.basket-lead{margin:4px 0 8px}.total{font-size:21px;margin:8px 0}.basket-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:8px;margin:12px 0}.basket-actions button{min-height:48px;padding:8px;font-size:15px}.basket-actions #checkout{margin:0}.basket-actions #edit-products{margin:0}#basket-products{margin-top:12px}.basket-bar{padding:8px 12px max(8px,env(safe-area-inset-bottom))}.basket-bar button{min-height:52px;padding:8px 14px;font-size:16px}
@media(max-width:520px){body{font-size:16px}main{padding:12px 14px 110px}.brand{padding:10px}.brand img{max-width:190px}.brand p{font-size:13px;margin-top:2px}.lists{grid-template-columns:repeat(2,minmax(0,1fr))}.lists button{min-height:60px;font-size:16px;padding:8px}.lists span{font-size:12px;margin-top:2px}.basket-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}.basket-actions #edit-products{order:0}.price-downloads{margin:10px 0;padding:12px}.price-downloads h2{font-size:16px;margin-bottom:8px}}
@media(max-width:380px){.lists{grid-template-columns:repeat(2,minmax(0,1fr))}.lists span{display:block;margin:2px 0 0}.basket-bar button{flex-wrap:nowrap}.product{padding:10px}}
.price-downloads{margin:8px 0 10px;padding:0 12px}.price-downloads summary{min-height:48px;display:flex;align-items:center;font-size:15px;font-weight:600;cursor:pointer;list-style:none}.price-downloads summary::-webkit-details-marker{display:none}.price-downloads summary::after{content:'⌄';margin-left:auto;font-size:20px;line-height:1}.price-downloads[open] summary::after{transform:rotate(180deg)}.price-downloads div{padding:0 0 12px}
.product{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px}.product h3,.product .price{grid-column:1/-1}.product .quantity{grid-column:1}.product .add,.product .remove{grid-column:2;align-self:end;width:auto;min-width:88px;margin:0;padding:8px;font-size:14px}.product .quantity{grid-template-columns:48px minmax(48px,1fr) 48px}
@media(max-width:380px){.product .add,.product .remove{min-width:80px}}
/* Keep all three price choices visible on one phone row. */
#intro .lists{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#intro .lists button{min-width:0;min-height:52px;padding:6px 3px;font-size:clamp(12px,3.3vw,15px);line-height:1.15;white-space:normal;text-align:center}
