/* ZELENO: регистрация, вход, личный кабинет, оформление заказа */
.z-modal{position:fixed;inset:0;z-index:130;display:none;align-items:center;justify-content:center;background:rgba(20,28,22,.48);padding:20px}
.z-modal.open{display:flex}
.z-card{position:relative;width:min(900px,100%);max-height:94vh;overflow:auto;background:#fff;color:#1f2a22;border-radius:6px;padding:28px 38px 30px;box-shadow:0 24px 60px rgba(0,0,0,.18)}
.z-card.narrow{width:min(520px,100%)}
.z-card h2{font-size:22px;font-weight:650;margin:0 0 34px;letter-spacing:0}
.z-x{position:absolute;top:18px;right:20px;border:0;background:none;font-size:26px;line-height:1;color:#888;padding:4px}
.z-x:hover{color:#1f2a22}
.z-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 14px}
.z-f{position:relative;display:flex;flex-direction:column;gap:7px;min-width:0}
.z-f.full{grid-column:1/-1}
.z-f>label{font-size:13px;color:#555;font-weight:500}
.z-f input,.z-f textarea,.z-f select{width:100%;border:1px solid #e3e3e3;background:#f6f6f6;border-radius:4px;padding:15px 14px;font-size:15px;color:#1f2a22;outline:none;transition:border-color .15s,background .15s}
.z-f input::placeholder,.z-f textarea::placeholder{color:#7d7d7d}
.z-f input:focus,.z-f textarea:focus{border-color:var(--green,#57634f);background:#fff}
.z-f input[readonly]{color:#7d7d7d}
.z-f textarea{min-height:80px;resize:vertical}
.z-f.bad input,.z-f.bad textarea{border-color:#e5484d;background:#fff}
.z-err{position:absolute;right:0;top:-12px;background:#fff;color:#e5484d;font-size:12px;padding:5px 10px;border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,.1);display:none;z-index:2;max-width:100%}
.z-f.bad .z-err{display:block}
.z-check{display:flex;gap:12px;align-items:flex-start;margin-top:26px;font-size:13px;line-height:1.5;color:#555;cursor:pointer}
.z-check+.z-check{margin-top:12px}
.z-check input{width:16px;height:16px;margin:2px 0 0;flex:none;accent-color:var(--green-dark,#354236)}
.z-check a{color:var(--brand,#5b725d);text-decoration:underline;text-underline-offset:2px}
.z-check.bad{color:#e5484d}
.z-btn{width:100%;margin-top:30px;border:0;border-radius:4px;padding:15px;font-size:16px;font-weight:500;background:var(--green-dark,#354236);color:#fff;transition:background .15s,opacity .15s}
.z-btn:hover{background:#26302a}
.z-btn[disabled]{background:#e6e6e6;color:#777;cursor:not-allowed}
.z-btn.ghost{background:transparent;color:var(--green-dark,#354236);border:1px solid var(--line,#ccc);margin-top:12px}
.z-btn.small{width:auto;padding:10px 18px;font-size:14px;margin-top:0}
.z-alt{margin-top:22px;font-size:14px;color:#333}
.z-alt button{border:0;background:none;padding:0;font:inherit;color:#1f2a22;font-weight:500;cursor:pointer}
.z-alt button:hover{text-decoration:underline}
.z-msg{margin:0 0 18px;padding:12px 14px;border-radius:4px;background:#eef3ec;color:#354236;font-size:14px;display:none}
.z-msg.show{display:block}
.z-msg.err{background:#fdecec;color:#b42318}
.z-note{font-size:12px;color:#777;margin-top:10px;line-height:1.45}

/* оформление заказа */
.co-sec{border-top:1px solid #eee;padding:20px 0}
.co-sec:first-of-type{border-top:0;padding-top:0}
.co-sec h3{font-size:15px;font-weight:650;margin:0 0 14px}
.co-who{font-size:14px;line-height:1.6;color:#333}
.co-who a{color:var(--brand,#5b725d);text-decoration:underline}
.co-sugg{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e3e3e3;border-top:0;max-height:240px;overflow:auto;z-index:5;display:none;box-shadow:0 10px 24px rgba(0,0,0,.08)}
.co-sugg.open{display:block}
.co-sugg button{display:block;width:100%;text-align:left;border:0;background:#fff;padding:11px 14px;font-size:14px;color:#1f2a22}
.co-sugg button:hover,.co-sugg button:focus{background:#f3f5f0}
.co-ways{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.co-way{border:1px solid #e3e3e3;border-radius:6px;padding:14px;cursor:pointer;display:flex;gap:10px;align-items:flex-start;background:#fff}
.co-way input{margin-top:3px;accent-color:var(--green-dark,#354236)}
.co-way.on{border-color:var(--green-dark,#354236);background:#f6f8f4}
.co-way.off{opacity:.45;cursor:not-allowed}
.co-way b{display:block;font-size:14px;font-weight:600}
.co-way span{font-size:13px;color:#666}
.co-points{margin-top:12px;max-height:240px;overflow:auto;border:1px solid #e3e3e3;border-radius:4px}
.co-point{display:flex;gap:10px;padding:11px 14px;border-top:1px solid #f0f0f0;cursor:pointer;font-size:13px;line-height:1.4}
.co-point:first-child{border-top:0}
.co-point:hover{background:#f7f8f5}
.co-point input{margin-top:2px;accent-color:var(--green-dark,#354236)}
.co-point small{display:block;color:#888}
.co-sum{display:grid;gap:8px;font-size:15px}
.co-sum div{display:flex;justify-content:space-between;gap:12px}
.co-sum .tot{font-size:20px;font-weight:650;padding-top:10px;border-top:1px solid #eee;margin-top:4px}
.co-done{text-align:center;padding:20px 0 6px}
.co-done h3{font-size:26px;font-weight:550;margin:0 0 10px}
.co-done p{color:#555;margin:0 0 6px}

/* личный кабинет */
.acc-page{padding-bottom:80px}
.acc-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin:46px 0 30px}
.acc-head h1{font-size:clamp(34px,5vw,56px);font-weight:500;letter-spacing:-.03em;margin:0;line-height:1}
.acc-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:28px;align-items:start}
.acc-box{background:var(--paper,#fbfaf6);border:1px solid var(--line,#ddd);padding:26px}
.acc-box h2{font-size:20px;font-weight:600;margin:0 0 20px}
.acc-box .z-grid{grid-template-columns:1fr}
.acc-box .z-f input{background:#fff}
.acc-empty{color:#727a72;font-size:15px}
.ord{border:1px solid var(--line,#ddd);background:#fff;padding:18px 20px;margin-bottom:14px}
.ord.hl{border-color:var(--green-dark,#354236);box-shadow:0 0 0 2px rgba(53,66,54,.15)}
.ord-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:10px}
.ord-top b{font-size:16px}
.ord-top small{color:#888;font-size:13px;margin-left:8px}
.chip{font-size:12px;padding:4px 10px;border-radius:99px;background:#eee;color:#444;white-space:nowrap}
.chip.paid{background:#e3efe3;color:#2f5b33}.chip.wait{background:#fff4dc;color:#7a5a00}.chip.fail{background:#fdecec;color:#b42318}
.ord-body{font-size:14px;line-height:1.6;color:#444}
.ord-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid #f0f0f0}
.ord-foot strong{font-size:17px}
details.pw{margin-top:18px;font-size:14px}
details.pw summary{cursor:pointer;color:var(--green-dark,#354236)}
details.pw .z-grid{margin-top:14px}

@media(max-width:820px){
  .acc-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .z-modal{padding:0;align-items:stretch}
  .z-card,.z-card.narrow{width:100%;max-height:none;min-height:100%;border-radius:0;padding:24px 16px 28px}
  .z-grid,.co-ways{grid-template-columns:1fr}
  .z-card h2{margin-bottom:24px;padding-right:30px}
  .acc-box{padding:20px 16px}
}
.user-btn.in::after{content:"";position:absolute;right:6px;bottom:6px;width:7px;height:7px;border-radius:50%;background:#5b9a66;border:1.5px solid var(--bg,#f4f2ea)}
.z-note a{color:var(--brand,#5b725d);text-decoration:underline}

/* остаток на складе */
.stock-note{margin:10px 0 12px;font-size:13px;color:var(--muted,#6b6f66)}
.stock-note.out{color:#a2442f}
.add-large:disabled{opacity:.5;cursor:not-allowed}
.mini-qty button:disabled{opacity:.35;cursor:not-allowed}

/* карта пунктов выдачи */
.co-map{margin-top:12px;height:280px;border:1px solid #e3e3e3;border-radius:4px;overflow:hidden;background:#eef0ea;z-index:0}
.co-map[hidden]{display:none}
@media (max-width:640px){.co-map{height:220px}}
