.sos-nyp,.sos-nyp-catalog{display:grid;gap:12px;width:100%;min-width:0;box-sizing:border-box;color:inherit}
.sos-nyp-product{display:flex;gap:12px;align-items:center;min-width:0;border:1px solid color-mix(in srgb,var(--sos-accent,#1463da) 20%,transparent);background:color-mix(in srgb,var(--sos-bg,#fff) 97%,var(--sos-accent,#1463da) 3%);padding:10px;border-radius:var(--sos-radius,12px);color:var(--sos-text,#222)}
.sos-nyp-product img{height:78px;width:78px;object-fit:contain;flex:0 0 78px;border-radius:8px;background:#fff}
.sos-nyp-product>div{display:flex;flex-direction:column;min-width:0;gap:4px}.sos-nyp-product strong{overflow-wrap:anywhere}.sos-nyp-product span{font-size:13px}
.sos-nyp-form{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.sos-nyp-form label{display:grid;gap:5px;flex:1 1 155px;font-size:13px;font-weight:700}
.sos-nyp-amount,.sos-nyp-catalog-controls input,.sos-nyp-catalog-controls select{width:100%;box-sizing:border-box;border:1px solid color-mix(in srgb,var(--sos-accent,#1463da) 36%,transparent);background:var(--sos-bg,#fff);color:var(--sos-text,#222);border-radius:9px;padding:10px;min-height:43px;font-size:15px}
.sos-nyp-form .sos-cta{cursor:pointer;max-width:100%;white-space:normal}.sos-nyp-result{min-height:24px;line-height:1.5;overflow-wrap:anywhere}.sos-nyp-result .sos-nyp-price{display:block;font-size:20px;color:#166534;margin-top:7px}.sos-nyp-remaining{opacity:.82}.sos-nyp-cart-link{font-weight:bold;text-decoration:underline}
.sos-nyp-catalog-controls{display:grid;grid-template-columns:minmax(110px,1fr) minmax(120px,1fr);gap:8px}.sos-nyp-products{display:grid;gap:7px;max-height:355px;overflow:auto;align-content:start}.sos-nyp-catalog-item{display:flex;text-align:left;gap:9px;align-items:center;padding:7px;border:1px solid color-mix(in srgb,var(--sos-accent,#1463da) 30%,transparent);border-radius:10px;background:var(--sos-bg,#fff);color:var(--sos-text,#222);cursor:pointer;min-height:56px;max-width:100%}.sos-nyp-catalog-item:hover,.sos-nyp-catalog-item:focus-visible{border-color:var(--sos-accent,#1463da);box-shadow:0 0 0 2px color-mix(in srgb,var(--sos-accent,#1463da) 23%,transparent)}.sos-nyp-catalog-item img{height:44px;width:44px;object-fit:contain}.sos-nyp-catalog-item span{display:grid;gap:3px;min-width:0}.sos-nyp-catalog-item strong{font-size:13px;overflow-wrap:anywhere}.sos-nyp-catalog-item small{font-size:12px}.sos-nyp-pager{display:flex;justify-content:space-between;align-items:center;gap:7px}.sos-nyp-pager button{padding:7px 12px;border:1px solid color-mix(in srgb,var(--sos-accent,#1463da) 30%,transparent);background:var(--sos-bg,#fff);color:var(--sos-text,#222);border-radius:8px;cursor:pointer}.sos-nyp-pager button:disabled{opacity:.35;cursor:default}.sos-nyp-catalog+.sos-nyp-stage{border-top:1px solid color-mix(in srgb,var(--sos-accent,#1463da) 25%,transparent);padding-top:12px}.sos-nyp-stage[hidden]{display:none!important}
.sos-nyp-editor .sos-nyp-band-table{display:grid;grid-template-columns:repeat(3,minmax(80px,1fr));gap:7px;max-width:610px;margin:12px 0}.sos-nyp-band-table input{width:100%;box-sizing:border-box}.sos-nyp-stats{display:flex;gap:12px;flex-wrap:wrap}.sos-nyp-stats span{background:#f1f5f9;border:1px solid #d1dbe8;padding:10px;border-radius:9px}.sos-nyp-stats b{font-size:20px}
@media(max-width:460px){.sos-nyp-catalog-controls{grid-template-columns:1fr}.sos-nyp-form .sos-cta{width:100%}.sos-nyp-products{max-height:42vh}}
/* v0.9.02: single stateful action; modest, campaign-colour-matched negotiation controls. */
.sos-nyp{gap:9px;max-width:100%;color:var(--sos-text,#222)}
.sos-nyp-attempts{display:grid;gap:3px;padding:9px 12px;border:1px solid color-mix(in srgb,var(--sos-accent,#1463da) 24%,transparent);border-radius:var(--sos-radius,10px);background:color-mix(in srgb,var(--sos-bg,#fff) 96%,var(--sos-accent,#1463da) 4%);color:var(--sos-text,#222);line-height:1.42}
.sos-nyp-attempt-label{font-size:13px;font-weight:750}.sos-nyp-attempt-sub{font-size:12px;opacity:.8}
.sos-nyp-intro{margin:2px 0 0!important;font-size:13px;line-height:1.5;color:var(--sos-text,#222)}
.sos-nyp .sos-nyp-form{display:grid!important;grid-template-columns:minmax(0,1fr);gap:6px;padding:9px 11px;background:color-mix(in srgb,var(--sos-bg,#fff) 98%,var(--sos-accent,#1463da) 2%);border:1px solid color-mix(in srgb,var(--sos-accent,#1463da) 20%,transparent);border-radius:var(--sos-radius,11px);box-shadow:none!important}
.sos-nyp .sos-nyp-form label{font-size:12px;font-weight:700;letter-spacing:0;color:var(--sos-text,#222);display:grid;gap:5px}
.sos-nyp .sos-nyp-amount{box-sizing:border-box!important;display:block!important;width:100%!important;max-width:100%!important;height:43px!important;min-height:43px!important;background:var(--sos-bg,#fff)!important;color:var(--sos-text,#222)!important;font-size:17px!important;font-weight:650!important;line-height:1.3!important;border:1.5px solid color-mix(in srgb,var(--sos-accent,#1463da) 50%,var(--sos-text,#222) 50%)!important;border-radius:9px!important;padding:8px 11px!important;opacity:1!important;box-shadow:none!important}
.sos-nyp .sos-nyp-amount::placeholder{color:var(--sos-text,#222)!important;opacity:.55!important;font-weight:400!important}
.sos-nyp .sos-nyp-amount:focus{outline:2px solid color-mix(in srgb,var(--sos-accent,#1463da) 25%,transparent)!important;outline-offset:1px!important;border-color:var(--sos-accent,#1463da)!important}
.sos-nyp .sos-nyp-submit{box-sizing:border-box!important;display:block!important;width:100%!important;min-height:38px!important;height:auto!important;margin:4px 0 0!important;padding:9px 13px!important;background:var(--sos-accent,#1463da)!important;color:var(--sos-button-text-color,#fff)!important;border:0!important;border-radius:8px!important;font-size:14px!important;font-weight:700!important;line-height:1.25!important;text-align:center!important;box-shadow:none!important;cursor:pointer!important;white-space:normal!important}
.sos-nyp .sos-nyp-submit:hover:not(:disabled){filter:brightness(.94)!important}
.sos-nyp .sos-nyp-submit:disabled{opacity:.6!important;cursor:not-allowed!important}
.sos-nyp .sos-nyp-swap{justify-self:center;border:0!important;background:transparent!important;color:var(--sos-text,#222)!important;font-size:12px!important;text-decoration:underline!important;text-underline-offset:2px!important;padding:5px!important;margin:0!important;cursor:pointer!important;min-height:25px!important;box-shadow:none!important}
.sos-nyp .sos-nyp-swap[hidden]{display:none!important}
.sos-nyp-retry{background:color-mix(in srgb,var(--sos-bg,#fff) 92%,var(--sos-accent,#1463da) 8%);border:1px solid color-mix(in srgb,var(--sos-accent,#1463da) 35%,transparent);color:var(--sos-text,#222);padding:9px 10px;border-radius:9px;font-weight:650;font-size:12px;line-height:1.5}
.sos-nyp-retry[hidden]{display:none!important}
.sos-nyp .sos-nyp-result{font-size:13px;line-height:1.5;color:var(--sos-text,#222);padding:9px 11px;background:color-mix(in srgb,var(--sos-bg,#fff) 96%,var(--sos-accent,#1463da) 4%);border-left:3px solid var(--sos-accent,#1463da);border-radius:7px;min-height:0!important;overflow-wrap:anywhere}
.sos-nyp .sos-nyp-result:empty{display:none!important}
.sos-nyp .sos-nyp-result .sos-nyp-price{display:block;font-size:19px;font-weight:750;color:var(--sos-text,#222);margin-top:3px}
.sos-nyp-fineprint{opacity:.78;font-size:11px;line-height:1.4}
.sos-nyp-contact{display:grid;gap:7px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--sos-accent,#1463da) 24%,transparent);border-radius:10px;background:color-mix(in srgb,var(--sos-bg,#fff) 97%,var(--sos-accent,#1463da) 3%);color:var(--sos-text,#222);font-size:12px;line-height:1.5}
.sos-nyp-contact strong{font-size:13px}.sos-nyp-contact label:not(.sos-nyp-consent){display:grid;gap:5px;font-weight:650}
.sos-nyp-contact .sos-nyp-email{box-sizing:border-box;width:100%;min-height:39px;padding:8px 10px;background:var(--sos-bg,#fff);color:var(--sos-text,#222);border:1px solid color-mix(in srgb,var(--sos-accent,#1463da) 28%,transparent);border-radius:8px;font-size:14px}
.sos-nyp-contact .sos-nyp-consent{display:flex;align-items:flex-start;gap:7px;font-size:12px}
.sos-nyp-contact .sos-nyp-consent input{flex-shrink:0;margin:3px 0 0}
.sos-nyp-contact-save{cursor:pointer;padding:7px 11px;border:1px solid var(--sos-accent,#1463da);border-radius:8px;background:transparent;color:var(--sos-text,#222);font-weight:700;font-size:12px}
.sos-nyp-contact-save:disabled{opacity:.5}
@media(max-width:460px){.sos-nyp .sos-nyp-form{padding:8px}.sos-nyp .sos-nyp-amount{height:42px!important;min-height:42px!important}.sos-nyp .sos-nyp-submit{min-height:38px!important}}

.sos-nyp .sos-nyp-submit,.sos-nyp .sos-nyp-amount,.sos-nyp .sos-nyp-swap{font-family:inherit!important}

/* v0.9.03: follow-up invitation is hidden until the configured attempt threshold. */
.sos-nyp-contact[hidden],.sos-nyp-contact-fields[hidden],.sos-nyp-contact-feedback[hidden],.sos-nyp-contact-note[hidden]{display:none!important}
.sos-nyp .sos-nyp-contact{gap:9px;padding:13px 14px;border:1px solid color-mix(in srgb,var(--sos-accent,#1463da) 30%,transparent);border-radius:var(--sos-radius,11px);background:color-mix(in srgb,var(--sos-bg,#fff) 95%,var(--sos-accent,#1463da) 5%);box-shadow:none!important}
.sos-nyp-contact-heading{display:flex;align-items:center;gap:9px;color:var(--sos-text,#222)}
.sos-nyp-contact-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:0 0 30px;border-radius:8px;background:color-mix(in srgb,var(--sos-accent,#1463da) 15%,var(--sos-bg,#fff));color:var(--sos-text,#222);font-size:16px}
.sos-nyp .sos-nyp-contact .sos-nyp-contact-title{font-size:14px;font-weight:750}
.sos-nyp-contact-intro{margin:0!important;font-size:12px;line-height:1.5}
.sos-nyp-contact-fields{display:grid;gap:9px}
.sos-nyp .sos-nyp-contact .sos-nyp-email{height:40px!important;min-height:40px!important;box-shadow:none!important}
.sos-nyp .sos-nyp-contact-save{box-sizing:border-box!important;width:100%;min-height:38px!important;padding:9px 13px!important;background:var(--sos-accent,#1463da)!important;color:var(--sos-button-text-color,#fff)!important;border:0!important;border-radius:8px!important;font-size:13px!important;font-weight:700!important;box-shadow:none!important;cursor:pointer!important}
.sos-nyp .sos-nyp-contact-save:disabled{opacity:.6!important;cursor:not-allowed!important}
.sos-nyp .sos-nyp-contact-note{font-size:11px;opacity:.8;line-height:1.4}
.sos-nyp-contact-feedback{margin:0!important;border-left:3px solid var(--sos-accent,#1463da);background:color-mix(in srgb,var(--sos-bg,#fff) 90%,var(--sos-accent,#1463da) 10%);padding:8px 10px;border-radius:5px;font-size:12px;line-height:1.5;color:var(--sos-text,#222)}

/* v0.9.05 — don't present inactive fields as usable at the attempt limit. */
.sos-nyp .sos-nyp-form[hidden],.sos-nyp .sos-nyp-form label[hidden],.sos-nyp .sos-nyp-intro[hidden]{display:none!important}
.sos-nyp .sos-nyp-contact{scroll-margin-top:75px}

/* v0.9.07 — clean notification cards without decorative green vertical rules. */
.sos-nyp .sos-nyp-result,.sos-nyp .sos-nyp-contact-feedback{border-left:0!important;border-inline-start:0!important;box-shadow:none!important}

/* v0.9.16: self-contained variation choice, only for variable products. */
.sos-nyp-variation-wrap{display:flex;flex-direction:column;gap:7px;margin:12px 0;padding:11px;border:1px solid rgba(100,116,139,.25);border-radius:10px}
.sos-nyp-variation-wrap label{font-size:13px}
.sos-nyp-variation{width:100%;min-height:40px;padding:8px;border:1px solid #aab5c2;border-radius:7px;background:#fff;color:#1b2839}
.sos-nyp-variation-wrap small{opacity:.8;font-size:11px;line-height:1.45}

/* v0.9.17 — display-only customer savings, based on WooCommerce price context */
.sos-nyp-savings{border:1px solid color-mix(in srgb,var(--sos-accent,#1463da) 26%,#dce5ef);background:color-mix(in srgb,var(--sos-bg,#fff) 94%,var(--sos-accent,#1463da) 6%);color:var(--sos-text,#243142);border-radius:12px;padding:12px;display:grid;gap:7px;max-width:100%;box-sizing:border-box}
.sos-nyp-savings-heading{display:block;font-size:15px;margin-bottom:3px}
.sos-nyp-savings>div{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:5px 12px;font-size:13px;line-height:1.45}
.sos-nyp-savings>div>*:last-child{white-space:normal;overflow-wrap:anywhere;text-align:right}
.sos-nyp-savings-total{border-top:1px solid color-mix(in srgb,var(--sos-accent,#1463da) 25%,transparent);padding-top:9px;font-weight:700}
.sos-nyp-savings-total strong{color:#167247}
.sos-nyp-savings small{font-size:11px;line-height:1.4;opacity:.85}
.sos-nyp-result .sos-nyp-savings-response{margin-top:10px;width:100%;box-sizing:border-box}
@media(max-width:380px){.sos-nyp-savings>div{flex-direction:column;align-items:flex-start}.sos-nyp-savings>div>*:last-child{text-align:left}}
