.ngr-fields{--ngr-ink:var(--wp--preset--color--ink,#1d1b19);--ngr-line:var(--wp--preset--color--line,#e4dfd8);--ngr-soft:var(--wp--preset--color--sand,#f3efe9);--ngr-accent:var(--wp--preset--color--gold,#a07c45);margin:0 0 1.25rem;display:grid;gap:1.1rem;width:100%}
.ngr-sec{display:grid;gap:1.1rem}
.ngr-sec[hidden],.ngr-field[hidden]{display:none!important}
.ngr-field{position:relative;display:grid;gap:.45rem;margin:0}
.ngr-field fieldset{border:0;margin:0;padding:0;min-width:0;display:grid;gap:.45rem}
.ngr-label{font-weight:500;font-size:.95rem;color:var(--ngr-ink);padding:0}
.ngr-req{color:#b3261e}
.ngr-desc{margin:0;font-size:.82rem;color:#6f6a64}
.ngr-field input[type=text],.ngr-field input[type=number],.ngr-field textarea,.ngr-field select{width:100%;box-sizing:border-box;font:inherit;font-size:16px;padding:.8rem .9rem;border:1px solid var(--ngr-line);border-radius:10px;background:#fff;color:var(--ngr-ink)}
.ngr-field input:focus,.ngr-field textarea:focus,.ngr-field select:focus{outline:2px solid var(--ngr-ink);outline-offset:1px}
.ngr-count{position:absolute;right:.7rem;top:2.35rem;font-size:.75rem;color:#8a847d;pointer-events:none}
.ngr-type-textarea .ngr-count{top:auto;bottom:.6rem}
.ngr-opts{display:flex;flex-wrap:wrap;gap:.5rem}
.ngr-opt{position:relative;cursor:pointer}
.ngr-opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.ngr-opt-in{display:flex;align-items:center;gap:.45rem;min-height:44px;padding:.45rem .9rem;border:1px solid var(--ngr-line);border-radius:999px;background:#fff;font-size:.9rem;line-height:1.2;transition:border-color .15s,background .15s}
.ngr-opt-price{color:#6f6a64;font-size:.78rem}
.ngr-opt input:checked+.ngr-opt-in{border-color:var(--ngr-ink);background:var(--ngr-soft);box-shadow:inset 0 0 0 1px var(--ngr-ink)}
.ngr-opt input:focus-visible+.ngr-opt-in{outline:2px solid var(--ngr-accent);outline-offset:2px}
.ngr-opts--img{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}
.ngr-opts--img .ngr-opt-in{flex-direction:column;border-radius:12px;padding:.6rem .4rem;text-align:center;height:100%;box-sizing:border-box;justify-content:flex-start}
.ngr-opts--img img{width:56px;height:56px;object-fit:cover;border-radius:50%}
.ngr-error{margin:0;color:#b3261e;font-size:.85rem}
.ngr-total{display:flex;justify-content:space-between;align-items:baseline;padding:.8rem 1rem;border-radius:10px;background:var(--ngr-soft);font-size:.95rem}
.ngr-total strong{font-size:1.15rem}
.ngr-type-text-block{font-size:.9rem;color:#6f6a64}
