.sao-grid{display:grid;grid-template-columns:repeat(var(--sao-cols,3),minmax(0,1fr));gap:22px;margin:24px 0}
.sao-card{border:1px solid #e5eadf;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 8px 24px rgba(20,60,20,.07);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.sao-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(20,60,20,.12)}
.sao-image{height:210px;background:#f3f7ef;overflow:hidden}.sao-image img{width:100%;height:100%;object-fit:cover;display:block}.sao-no-image{height:100%;display:grid;place-items:center;color:#788576}
.sao-card-body{padding:19px;display:flex;flex-direction:column;flex:1}.sao-card h3{font-size:20px;margin:0 0 8px;color:#203b24}.sao-description{font-size:14px;color:#657064;line-height:1.65}
.sao-price{font-size:21px;font-weight:800;color:#287a36;margin:12px 0}
.sao-order-btn,.sao-submit{border:0;border-radius:10px;background:linear-gradient(135deg,#25843b,#17642d);color:white;padding:13px 18px;font-weight:700;cursor:pointer;transition:filter .2s,transform .2s}
.sao-order-btn:hover,.sao-submit:hover{filter:brightness(.94);transform:translateY(-1px)}
.sao-modal{display:none;position:fixed;z-index:999999;inset:0;background:rgba(8,25,13,.68);backdrop-filter:blur(5px);padding:20px;overflow:auto;align-items:center;justify-content:center}
.sao-modal.is-open{display:flex}.sao-modal-box{position:relative;background:#fff;border-radius:22px;padding:30px;width:min(100%,500px);max-height:94vh;overflow:auto;box-shadow:0 24px 80px rgba(0,0,0,.24)}
.sao-modal-box h3{margin:0 35px 14px 0;color:#203b24;font-size:24px}.sao-close{position:absolute;right:15px;top:13px;width:36px;height:36px;border:0;border-radius:50%;background:#f0f4ef;color:#435345;font-size:25px;line-height:1;cursor:pointer}
.sao-selected-product{padding:12px 14px;background:#f3f8f1;border:1px solid #e1ecdf;border-radius:12px;color:#285a32;font-weight:700;margin-bottom:12px}
.sao-order-form{display:flex;flex-direction:column;gap:8px}.sao-order-form label{font-weight:650;margin-top:8px;color:#344638;font-size:14px}
.sao-order-form input,.sao-order-form textarea{width:100%;padding:12px 13px;border:1px solid #d6ded3;border-radius:10px;box-sizing:border-box;background:#fff;font:inherit;outline:none}
.sao-order-form input:focus,.sao-order-form textarea:focus{border-color:#36894a;box-shadow:0 0 0 3px rgba(54,137,74,.12)}
.sao-form-total{font-weight:800;color:#267936;margin:10px 0;font-size:18px}.sao-submit{width:100%;font-size:16px;padding:14px}.sao-submit:disabled{opacity:.65;cursor:wait}
.sao-message{margin:8px 0}.sao-message.success{color:#207a31}.sao-message.error{color:#b42318}
.sao-success-screen{position:relative;text-align:center;padding:18px 8px 8px;animation:saoFade .32s ease}
.sao-success-topline{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:99px;background:#edf8ef;color:#28783a;font-size:12px;font-weight:800;letter-spacing:.04em;margin-bottom:20px}
.sao-success-icon{width:92px;height:92px;margin:0 auto 19px;border-radius:28px;display:grid;place-items:center;background:linear-gradient(145deg,#e7f8eb,#d5f0dc);color:#21813a;font-size:52px;font-weight:800;border:1px solid #c7e9ce;box-shadow:0 10px 25px rgba(33,129,58,.12)}
.sao-success-screen h2{color:#173d22;font-size:27px;line-height:1.25;margin:0 0 9px}.sao-success-screen>p{color:#647267;font-size:15px;line-height:1.65;margin:0 auto 20px;max-width:350px}
.sao-success-orderbox{background:#f7faf6;border:1px solid #e5eee2;border-radius:16px;padding:16px 18px;text-align:left;margin:0 0 20px}
.sao-success-orderbox .sao-success-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;color:#69766b;font-size:14px;border-bottom:1px dashed #dce7da}
.sao-success-orderbox .sao-success-row:last-child{border:0;padding-bottom:0}.sao-success-orderbox .sao-success-row strong{color:#263d2a;text-align:right}
.sao-success-id{display:block;color:#28783a;font-weight:800;font-size:17px;letter-spacing:.02em}.sao-success-note{font-size:13px!important;color:#829084!important;margin:0 auto 18px!important}
.sao-success-close{display:block;width:100%;border:0;border-radius:12px;background:linear-gradient(135deg,#25843b,#17642d);color:#fff;padding:15px;font-size:16px;font-weight:800;cursor:pointer;box-shadow:0 8px 18px rgba(31,119,53,.18)}
@keyframes saoFade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:800px){.sao-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.sao-grid{grid-template-columns:1fr}.sao-image{height:230px}.sao-modal{padding:10px;align-items:center}.sao-modal-box{padding:25px 18px;border-radius:18px;max-height:96vh}.sao-modal-box h3{font-size:21px}.sao-success-screen h2{font-size:24px}.sao-success-icon{width:82px;height:82px;border-radius:24px;font-size:46px}}
