/* Contact Form 7: shared styling for the contact page and native product dialog. */
.company-contact{margin-top:30px;max-width:500px}
.company-contact dl{margin:0}.company-contact dl>div{border-top:1px solid var(--line);padding:16px 0;display:grid;grid-template-columns:88px minmax(0,1fr);gap:18px;font-size:14px;line-height:1.75}
.company-contact dt{font-size:11px;font-weight:700;color:var(--muted);padding-top:3px}.company-contact dd{margin:0;min-width:0;overflow-wrap:anywhere}
.company-contact address,.footer-location address{font-style:normal;line-height:1.75}
.company-contact a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.contact-directions{display:inline-flex;align-items:center;min-height:44px;margin-top:5px;font-size:12px;font-weight:700}
.footer-location{max-width:340px;flex:0 1 330px}.footer-location address{font-size:11px}.footer-contact-links{display:grid;gap:7px;margin-top:12px;font-size:11px;overflow-wrap:anywhere}
@media(max-width:800px){.footer-location{flex:none;max-width:100%}.company-contact dl>div{grid-template-columns:76px minmax(0,1fr);gap:12px;font-size:13px}}
.quote-modal-open{overflow:hidden}
.quote-dialog{width:min(700px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:32px;border-radius:var(--radius);overscroll-behavior:contain}
.quote-dialog::backdrop{background:#10291de0;backdrop-filter:blur(3px)}
.quote-dialog .dialog-close{right:14px;top:14px;min-width:44px;min-height:44px}
.quote-dialog-heading{padding-right:32px;margin-bottom:24px}
.quote-dialog-heading h2{font-size:38px;line-height:1.06;max-width:490px}
.quote-dialog-heading p{font-size:13px;margin-top:12px;line-height:1.7;max-width:500px}
.quote-dialog .wpcf7,.contact-form-panel .wpcf7{margin:0}
.quote-dialog .wpcf7-form,.contact-form-panel .wpcf7-form{display:grid;gap:20px}
.quote-product-fields{display:grid;gap:12px;padding:18px 20px;background:var(--tint);border-left:3px solid var(--accent);border-radius:var(--radius)}
.quote-product-fields .quote-field{font-size:10px;color:var(--muted);gap:3px}
.quote-product-fields .wpcf7-form-control-wrap{display:block}
.quote-product-fields input.wpcf7-text{padding:0;border:0;background:transparent;box-shadow:none;min-height:24px;border-radius:0;font-size:12px;color:var(--ink);font-weight:600}
.quote-product-fields textarea.wpcf7-textarea{padding:0;border:0;background:transparent;box-shadow:none;min-height:0;resize:none;font-size:12px;line-height:1.5;color:var(--ink);font-weight:600;overflow:hidden}
.quote-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.quote-field{display:block;font-size:12px;font-weight:600;color:var(--ink);min-width:0}
.quote-fields-grid p{margin:0}
.quote-field>br,.quote-product-fields>br,.quote-fields-grid>br,.quote-submit>br{display:none}
.quote-field .wpcf7-form-control-wrap{display:block;min-width:0;margin-top:8px}
.quote-product-fields .wpcf7-form-control-wrap{margin-top:3px}
.quote-field input,.quote-field textarea{display:block;width:100%;min-height:46px;padding:12px 13px;border:1px solid #bcc9be;background:var(--surface);color:var(--ink);border-radius:var(--radius);font-size:14px;font-weight:400;line-height:1.5;transition:border-color .15s,box-shadow .15s}
.quote-field textarea{min-height:105px;resize:vertical}
.quote-field input::placeholder,.quote-field textarea::placeholder{color:#718077;opacity:1}
.quote-field input:focus,.quote-field textarea:focus{outline:2px solid var(--accent);outline-offset:2px}
.quote-field .wpcf7-not-valid{border-color:#a32a20}
.quote-field .wpcf7-not-valid-tip{font-size:11px;font-weight:400;color:#a32a20;margin-top:6px}
.required-mark{color:var(--accent)}.optional-mark{font-weight:400;color:var(--muted)}
.quote-field>span.required-mark,.quote-field>span.optional-mark{display:contents}
.quote-privacy{font-size:11px;line-height:1.7;margin:0}
.quote-submit{display:flex;align-items:center;gap:12px}
.quote-submit p{margin:0;display:flex;align-items:center;gap:12px}
.quote-submit .wpcf7-submit{border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);color:var(--inverse);padding:13px 22px;min-height:49px;font:700 13px/1.4 Manrope,Arial,sans-serif;cursor:pointer;white-space:nowrap}
.quote-submit .wpcf7-submit:hover{background:var(--accent-hover)}
.quote-submit .wpcf7-submit:disabled{cursor:wait;opacity:.65}
.wpcf7 .wpcf7-response-output{margin:0;padding:14px 16px;border-radius:var(--radius);font-size:13px;line-height:1.6;color:var(--ink)}
.wpcf7 form.sent .wpcf7-response-output{border-color:var(--accent);background:var(--tint)}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output{border-color:#b43b24;background:#fff4eb}
.local-form-note{font-size:10px;line-height:1.6;color:var(--muted);padding-top:12px;border-top:1px solid var(--line)}
.contact-page{padding-block:55px 75px}
.contact-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:75px;align-items:start}
.contact-intro h1{font-size:clamp(44px,4.6vw,66px);max-width:500px;font-weight:700}
.contact-intro>p{font-size:16px;line-height:1.8;margin-top:24px;max-width:480px}
.contact-expect{margin-top:38px;padding-top:28px;border-top:1px solid var(--line);max-width:460px}
.contact-expect h2{font-size:30px;margin-bottom:13px}
.contact-expect p{font-size:13px;line-height:1.8}
.contact-expect .text-link{font-size:12px;line-height:1.8;margin-top:24px}
.contact-form-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:32px;min-width:0}
.contact-form-panel h2{font-size:37px;margin-bottom:12px}
.contact-form-intro{font-size:13px;margin-bottom:26px}
.selected-specs{grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}
@media(max-width:960px){.contact-layout{grid-template-columns:1fr;gap:32px}.contact-intro h1{max-width:700px}.contact-intro>p{max-width:640px}.contact-expect{display:none}.contact-form-panel{max-width:750px;width:100%}}
@media(max-width:600px){.quote-dialog{padding:26px 20px;width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.quote-dialog-heading h2{font-size:33px}.quote-dialog-heading{margin-bottom:20px}.quote-dialog .wpcf7-form,.contact-form-panel .wpcf7-form{gap:18px}.quote-product-fields{padding:14px 15px}.quote-fields-grid{grid-template-columns:1fr;gap:16px}.quote-field input,.quote-field textarea{font-size:16px}.quote-product-fields input.wpcf7-text{font-size:11px}.quote-submit,.quote-submit p{width:100%}.quote-submit .wpcf7-submit{width:100%;font-size:13px}.quote-submit .wpcf7-spinner{position:absolute;right:15px}.quote-submit{position:relative}.contact-page{padding-block:32px 45px}.contact-intro h1{font-size:44px}.contact-intro>p{font-size:14px;margin-top:18px}.contact-form-panel{padding:24px 20px}.contact-form-panel h2{font-size:33px}}
@media(prefers-reduced-motion:reduce){.quote-field input,.quote-field textarea{transition:none}}
