/* Northside Pricing: product page configurator. Kept plain so the theme's form styles apply. */
.np-configurator { margin: 0 0 1.25em; max-width: 420px; }
.np-configurator .np-field { margin: 0 0 .9em; }
.np-configurator label { display: block; margin: 0 0 .3em; font-weight: 600; }
.np-configurator select { width: 100%; }
.np-configurator .np-total { margin-top: 1em; font-size: 1.35em; }
.np-configurator .np-total-ex { display: block; font-size: .6em; opacity: .75; }
.np-configurator .np-errors:not(:empty) { margin: .5em 0; color: #a1262b; }
.np-configurator.np-loading .np-total { opacity: .45; transition: opacity .15s; }
/* The configurator replaces WooCommerce's quantity box; the cart quantity is always 1. */
form.cart .np-configurator ~ .quantity { display: none; }

/* "Quote NSQ-1001, ready to order." when the page was opened from an emailed quote. */
.np-quote-restored { margin: 0 0 .9em; padding: .55em .8em; background: #f4f7ef; border-left: 3px solid #7cb342; font-size: .9em; }

/* Email me this quote. Sits after the add-to-cart form, never inside it. */
.np-quote { margin: 0 0 1.5em; max-width: 420px; }
.np-quote-toggle { background: none; border: 0; padding: .35em 0; font: inherit; font-weight: 600; color: inherit; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.np-quote-toggle::before { content: "＋"; display: inline-block; width: 1.1em; text-decoration: none; }
.np-quote-toggle[aria-expanded="true"]::before { content: "－"; }
.np-quote-body { padding: .9em 0 0; }
.np-quote-intro { margin: 0 0 .8em; font-size: .9em; opacity: .8; }
.np-quote-field { margin: 0 0 .8em; }
.np-quote-field label { display: block; margin: 0 0 .3em; font-weight: 600; }
.np-quote-email { width: 100%; }
.np-quote-actions { margin: 0; }
.np-quote-send[disabled] { opacity: .5; cursor: not-allowed; }
.np-quote-msg:not(:empty) { margin: .7em 0 0; font-size: .9em; }
.np-quote-msg.is-error { color: #a1262b; }
.np-quote-msg.is-done { color: #3d6b16; }
.np-quote-msg.is-working { opacity: .7; }

/* The honeypot. Off-screen rather than display:none, which bots are wise to, and out of the
   tab order and the accessibility tree, so nobody who should see the form ever meets it. */
.np-quote-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.np-quote-actions .button + .button { margin-left: .5em; }
.np-quote-pdf[disabled] { opacity: .5; cursor: not-allowed; }
.np-quote-note { margin: .6em 0 0; font-size: .82em; opacity: .7; }
