.vg-soil{--ink:#173b2b;--leaf:#286342;--cream:#f6f1e7;max-width:1040px;margin:40px auto;padding:0 20px;box-sizing:border-box;color:var(--ink)}
.vg-soil form{padding:0;background:transparent}
.vg-soil fieldset,.vg-soil [data-results],.vg-soil article{border:1px solid #d7e2d7;border-radius:14px;background:#fff;padding:22px;margin:20px 0;box-shadow:0 2px 10px rgba(23,59,43,.08)}
.vg-soil [hidden]{display:none!important}
.vg-soil [data-step="1"]{background:var(--cream)}
.vg-soil [data-step="2"]{background:#e5eee4}
.vg-soil [data-step="3"]{background:#fff0c9}
.vg-soil [data-results]{background:#edf3ed;border-color:#cbdcca}
.vg-soil article{background:#fff}
.vg-soil legend{font-weight:800;font-size:1.15rem;padding:0 6px}
.vg-soil label{display:block;font-weight:700}
.vg-soil input,.vg-soil select{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid #afc2af;border-radius:8px;box-sizing:border-box;font:inherit}
.vg-soil fieldset>label{display:inline-flex;align-items:center;gap:7px;margin:5px 16px 5px 0}
.vg-soil fieldset>label input{width:auto;margin:0}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.plants{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;max-height:250px;overflow:auto}
.plants label{font-weight:500;padding:10px;background:#edf3ed;border-radius:8px}
.plants input{display:inline;width:auto;margin:0 7px 0 0}
.vg-soil button{padding:15px 22px;background:var(--leaf);color:#fff;border:0;border-radius:8px;font:inherit;font-weight:800;cursor:pointer}
.error{color:#a32020;font-weight:700}
.mix,.shopping{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.card{background:#edf3ed;padding:16px;border-radius:10px}
.mix .card{background:#fff;border:1px solid #d7e2d7;box-shadow:0 2px 10px rgba(23,59,43,.08)}
.vg-material-buy{display:flex;align-items:center;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid #d7e2d7;color:var(--leaf);font-weight:800;text-decoration:none}
.vg-material-buy img{width:46px;height:46px;object-fit:contain;border-radius:6px;background:#f6f1e7}
.total{font-size:1.5rem;font-weight:800;color:var(--leaf)}
.vg-bag-total{display:inline-block;margin:0;padding:12px 16px;border-radius:10px;background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(23,59,43,.12)}
.vg-cost-per-unit{font-size:1.05rem}
.vg-cost-per-unit span{color:#496052}
.vg-step-help,.vg-search-prompt{color:#456052;margin:0 0 16px}
.vg-unit-note{margin:16px 0 0;color:#496052;font-size:.9rem}
.vg-root-warning{margin-top:16px;padding:14px 16px;border-left:4px solid #ba6a2e;border-radius:8px;background:#fff0c9;color:#5a371c}
.vg-root-warning ul{margin:8px 0 0 18px}
.vg-place-label{max-width:360px;margin-top:18px}
.vg-selected-plants{margin-top:12px}
.vg-selected-plants button{display:inline-block;margin:6px 6px 0 0;padding:7px 10px;background:#edf3ed;color:var(--ink);border:1px solid #b6c7b5;border-radius:999px;font-size:.9rem}
.vg-recommendation-preview{margin-top:18px;padding:16px;border-radius:10px;background:#edf3ed;border-left:4px solid var(--leaf)}
.vg-recommendation-preview h3{margin:0 0 8px;color:var(--ink)}
.vg-recommendation-preview p{margin:0}
.vg-mix-editor{margin-top:20px;padding:18px;border-radius:12px;background:#edf3ed;border:1px solid #cbdcca}
.vg-mix-editor h3{margin:0 0 8px}
.vg-mix-editor>p{margin:0 0 14px;color:#496052}
.vg-add-component{max-width:330px;margin-bottom:14px}
.vg-mix-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.vg-mix-control{padding:12px;border-radius:10px;background:#fff;box-shadow:0 1px 3px rgba(23,59,43,.08)}
.vg-mix-control label{margin-top:9px;font-size:.88rem}
.vg-mix-total{font-weight:800!important}
.vg-add-material{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-top:16px}
.vg-add-material label{flex:1 1 220px}
.vg-add-material button{margin-bottom:0}
.step-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.vg-soil button.secondary{background:#edf3ed;color:var(--ink);border:1px solid #afc2af}
@media(max-width:700px){.grid,.plants,.mix,.shopping,.vg-mix-controls{grid-template-columns:1fr}.vg-soil{padding:0 14px}.vg-soil form{padding:0}.vg-soil fieldset,.vg-soil [data-results],.vg-soil article{padding:16px}.vg-add-material{display:block}.vg-add-material button{margin-top:12px}}
