/* Presentation only: [cf] and its submit handler remain owned by NAP. */
.tm-editor-html #quote{min-height:0;border:1px solid #dce8f5;border-radius:18px;background:#fff;box-shadow:0 12px 36px #08245414;color:#082454}
.tm-editor-html #quote.quote-enhanced{padding:0;border:0;background:transparent;box-shadow:none}
#quote .quote-card{padding:24px;border:1px solid #dce8f5;border-radius:18px;background:#fff;box-shadow:0 12px 36px #08245414}
.tm-editor-html #quote h2{font-family:'Playfair Display',serif;font-size:27px;line-height:1.25;letter-spacing:-.7px;margin:0 0 8px}
.tm-editor-html #quote .quote-description{font:16px/1.5 Lato,sans-serif;color:#526a91;margin:0 0 14px}
#quote #contact,#quote #contactForm{width:100%;margin:0;padding:0;background:transparent;border:0;float:none}
#quote #contact_header:empty{display:none}
#quote #contact_header{margin:0 0 16px;overflow-wrap:anywhere;font:15px/1.5 Lato,sans-serif}
#quote #contact_header .nap_cf_warning_message,#quote #contact_header .nap_cf_success_message{border-radius:8px}
#quote #contactForm p{margin:0;padding:0;width:100%;float:none}
#quote #contactForm input.quickFormFields,#quote #contactForm textarea.quickFormFieldsMess,#quote #contactForm input.captchaField{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;height:48px;padding:12px;border:1px solid #ccdced;border-radius:8px;background:#fff;color:#082454;font:16px/1.4 Lato,sans-serif;box-shadow:none;margin:0;float:none}
#quote #contactForm textarea.quickFormFieldsMess{height:72px;min-height:72px;max-height:72px;resize:none;overflow-y:auto}
#quote #contactForm input::placeholder,#quote #contactForm textarea::placeholder{color:#586f93;opacity:1}
#quote #contactForm input.quickFormFields:focus,#quote #contactForm textarea.quickFormFieldsMess:focus,#quote #contactForm input.captchaField:focus{outline:none;box-shadow:none}
#quote #contactForm input.quickFormFields:focus-visible,#quote #contactForm textarea.quickFormFieldsMess:focus-visible,#quote #contactForm input.captchaField:focus-visible{background:#f1f7ff}
#quote #contactForm #submitter:focus-visible,#quote #contactForm button:focus-visible{outline:3px solid #98d2ff;outline-offset:2px;border-color:#1478d5}
#quote #contactForm input[aria-invalid=true],#quote #contactForm textarea[aria-invalid=true]{border-color:#be3232}
#quote #contactForm .quickFormSend,#quote .quote-next{border:0;border-radius:8px;background:linear-gradient(110deg,#1773ce,#0963c4);color:#fff;font:700 16px/1.35 Lato,sans-serif;min-height:48px;padding:12px 14px;box-sizing:border-box;cursor:pointer;float:none;margin:0;text-align:center}
#quote #contactForm .quickFormSend{display:block;width:100%;white-space:normal;text-transform:none;letter-spacing:normal}
#quote .quote-next:hover,#quote #contactForm .quickFormSend:hover{background:linear-gradient(110deg,#0969c5,#0455ad)}
#quote .quote-back{background:#f0f7fd;border:1px solid #d6e5f3;border-radius:8px;color:#175fa7;font:700 16px/1.35 Lato,sans-serif;min-height:48px;padding:12px 16px;cursor:pointer}
#quote #contactForm [disabled]{cursor:wait}
#quote .quote-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0 0 18px;padding:0;gap:6px}
#quote .quote-progress li{position:relative;display:flex;align-items:center;flex-direction:column;gap:6px;font:700 12px/1.4 Lato,sans-serif;color:#5d7393;text-align:center}
#quote .quote-progress li::before{content:'';position:absolute;height:1px;top:14px;left:calc(-50% + 10px);right:calc(50% + 16px);background:#d3e4f2}
#quote .quote-progress li:first-child::before{display:none}
#quote .quote-progress span{position:relative;display:grid;place-items:center;width:28px;height:28px;border:1px solid #cbdff1;background:#f3f8fe;border-radius:50%;font-size:13px}
#quote .quote-progress [aria-current=step]{color:#0868cb}
#quote .quote-progress [aria-current=step] span{background:#147de3;border-color:#147de3;color:#fff}
#quote .quote-progress .is-complete span{background:#e4f3ff;border-color:#89bef0;color:#0868cb}
#quote .quote-step{height:132px;min-height:132px;max-height:132px;display:flex;flex-direction:column;gap:12px}
#quote .quote-step[hidden],#quote .quote-error[hidden]{display:none!important}
#quote .quote-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:min-content;align-content:start;gap:14px 12px}
#quote .quote-details>*,#quote .quote-step>div{min-width:0}
#quote .quote-field{position:relative;margin:0}
#quote #contactForm .quote-field input{padding-left:34px}
#quote .quote-field-icon{position:absolute;width:18px;height:18px;left:10px;top:15px;pointer-events:none;color:#288aef;float:none;clear:none;margin:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#quote .quote-actions{display:flex;gap:12px;justify-content:space-between;margin-top:auto}
#quote .quote-actions .quote-next{min-width:104px}
#quote .quote-verification .nap_cf_vercode_container p{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;align-items:center}
#quote .quote-verification .nap_cf_vercode_container img{display:block;width:120px;height:40px;object-fit:contain;margin:0;border-radius:4px}
#quote .quote-verification .quote-actions{margin-top:auto;justify-content:flex-start;align-items:stretch}
/* The original input keeps its NAP click handler and accessible value. The
   decorative label can wrap, unlike the text inside an input[type=submit]. */
#quote .quote-submit-wrap{display:grid;flex:1;min-width:0}
#quote #contactForm .quote-submit-wrap .quickFormSend{grid-area:1/1;width:100%;height:100%;min-width:0;color:transparent;text-shadow:none}
#quote .quote-submit-label{grid-area:1/1;display:flex;align-items:center;justify-content:center;min-width:0;padding:12px 14px;color:white;font:700 16px/1.35 Lato,sans-serif;text-align:center;pointer-events:none;overflow-wrap:normal}
#quote .quote-feedback{margin:16px 0 0;display:flex;flex-direction:column;gap:12px;min-width:0}
#quote .quote-feedback[hidden]{display:none!important}
#quote .quote-feedback #contact_header{margin:0;font:16px/1.5 Lato,sans-serif}
#quote .quote-feedback .quote-error,#quote .quote-feedback .nap_cf_warning_message,#quote .quote-feedback .nap_cf_success_message,#quote .quote-feedback>.success{position:relative;box-sizing:border-box;width:100%;margin:0!important;padding:14px 16px 14px 48px!important;border:1px solid #efcaca!important;border-radius:10px;background:#fff4f4!important;color:#9a2626!important;font:16px/1.5 Lato,sans-serif;overflow-wrap:anywhere}
#quote .quote-feedback .nap_cf_success_message,#quote .quote-feedback>.success{border-color:#bedfc9!important;background:#effaf3!important;color:#17603a!important}
#quote .quote-feedback .quote-error::before,#quote .quote-feedback .nap_cf_warning_message::before,#quote .quote-feedback .nap_cf_success_message::before,#quote .quote-feedback>.success::before{content:'!';position:absolute;left:16px;top:16px;display:grid;place-items:center;width:20px;height:20px;border:1.5px solid currentColor;border-radius:50%;font:700 14px/1 Lato,sans-serif}
#quote .quote-feedback .nap_cf_success_message::before,#quote .quote-feedback>.success::before{content:'✓'}
#quote .quote-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* With no enhancement the original single-page form remains usable. */
#quote #contactForm:not(.quote-wizard)>div[class^=nap_cf_]{margin-bottom:14px}
@media(max-width:599px){
 .tm-editor-html #quote{padding:22px 18px}
 #quote .quote-card{padding:22px 18px}
 #quote .quote-details{gap:14px 10px}
 #quote .quote-next{padding-inline:10px}
 #quote .quote-verification .nap_cf_vercode_container p{gap:10px}
}
@media(prefers-reduced-motion:no-preference){#quote input,#quote textarea,#quote button{transition:border-color .15s,background-color .15s,box-shadow .15s}}
