*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;background:#f4f6f8;color:#1c2129;-webkit-font-smoothing:antialiased}
.container{max-width:1080px;margin:0 auto;padding:0 24px}
.topbar{background:#fff;border-bottom:1px solid #e5e9ee;padding:14px 0}
.topbar .container{display:flex;justify-content:space-between;align-items:center}
.topbar strong{font-size:16px}
.lock{color:#1d8348;font-size:13px;font-weight:500}
.layout{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:32px 24px}
@media (max-width:820px){.layout{grid-template-columns:1fr;padding:16px}}
.product,.checkout{background:#fff;border:1px solid #e5e9ee;border-radius:12px;padding:24px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.product-img{height:220px;background:linear-gradient(135deg,#eef2f7,#dbe3ec);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:80px;margin-bottom:16px}
.product h1{margin:0 0 12px;font-size:24px}
.desc{color:#555;line-height:1.55;font-size:14px}
.price-row{margin:16px 0;padding:14px;background:#f8fafc;border-radius:8px;display:flex;justify-content:space-between;align-items:center}
.price-row .label{color:#666;font-size:13px}
.price{font-size:28px;font-weight:700;color:#0a7d3a}
.bullets{list-style:none;padding:0;margin:8px 0 0;font-size:13px;color:#444}
.bullets li{padding:6px 0 6px 22px;position:relative}
.bullets li::before{content:"✓";color:#0a7d3a;position:absolute;left:0;font-weight:700}
.checkout h2{margin:0 0 16px;font-size:18px}
fieldset{border:1px solid #e5e9ee;border-radius:8px;padding:16px;margin:0 0 16px}
legend{font-weight:600;font-size:13px;color:#475067;padding:0 6px}
.row{margin-bottom:12px}
.row.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.row.three{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:12px}
@media (max-width:520px){.row.two,.row.three{grid-template-columns:1fr}}
label{display:block;font-size:12px;color:#475067;font-weight:500}
input,select{width:100%;margin-top:4px;padding:10px 12px;border:1px solid #cfd6dd;border-radius:6px;font-size:14px;font-family:inherit;background:#fff;transition:border-color .15s}
input:focus,select:focus{outline:none;border-color:#0a7d3a;box-shadow:0 0 0 3px rgba(10,125,58,.12)}
input.invalid{border-color:#c0392b;background:#fef5f3}
.btn{width:100%;padding:14px 16px;background:#0a7d3a;color:#fff;border:0;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .15s}
.btn:hover{background:#08672f}
.btn:disabled{background:#7da890;cursor:not-allowed}
.msg{margin-top:14px;padding:12px;border-radius:6px;font-size:13px;display:none}
.msg.show{display:block}
.msg.error{background:#fdecea;color:#922b21;border:1px solid #f5b7b1}
.msg.success{background:#e8f8ee;color:#1d8348;border:1px solid #abebc6}
.msg.info{background:#eaf2f8;color:#1f618d;border:1px solid #aed6f1}
.legal{font-size:11px;color:#7d8a96;margin:14px 0 0;line-height:1.5}
footer{padding:24px;text-align:center;color:#7d8a96;font-size:12px}
