/* v1.5.3: isolated form styles; no legacy callback/type-selector rules. */
.apm-cq-page.apm-cq-quote-only { font-family:inherit; font-size:16px; line-height:1.7; color:#243743; }
.apm-cq-quote-only :is(h1,h2,h3,p,small,label,input,textarea,select,button) { font-family:inherit!important; }
.apm-cq-quote-only .elementor-form-fields-wrapper { display:flex; flex-wrap:wrap; }
.apm-cq-quote-only .elementor-field-group { box-sizing:border-box; }
.apm-cq-quote-only .elementor-field-label { display:block; }
.apm-cq-quote-only .elementor-field { box-sizing:border-box; width:100%; }
.apm-cq-quote-only .elementor-field-type-radio .elementor-field-subgroup { display:grid!important; width:100%; }
.apm-cq-quote-only .elementor-field-type-radio .elementor-field-option { display:flex; align-items:center; gap:12px; box-sizing:border-box; }
.apm-cq-quote-only .elementor-field-type-radio input[type=radio] { width:20px; height:20px; flex:0 0 20px; margin:0; accent-color:#008fac; }
.apm-cq-quote-only .elementor-field-type-radio label { cursor:pointer; padding:0!important; font-weight:500!important; }
.apm-cq-quote-only .elementor-field-type-radio .elementor-field-option:has(input:focus-visible) { outline:3px solid #80d6eb; outline-offset:2px; }
.apm-cq-quote-only .elementor-field-type-submit .elementor-button { display:flex; justify-content:center; align-items:center; background:#ffe500!important; color:#172b36!important; border:1px solid #e3ca00!important; cursor:pointer; }
.apm-cq-quote-only .elementor-field-required .elementor-field-label::after { content:" *"; color:#b32936; }
.apm-cq-quote-only .elementor-field-type-hidden { display:none!important; }
/* v1.4 — one focused, readable quotation form. */
.apm-cq-page.apm-cq-quote-only { box-sizing:border-box; width:100%; max-width: 1040px!important; margin: 0 auto!important; padding: 40px 24px 64px!important; }
.apm-cq-quote-only .apm-qf-form { margin:0!important; padding:0!important; border:0!important; background:transparent!important; }
.apm-cq-quote-only .elementor-form-fields-wrapper { margin:0 -10px!important; row-gap:20px!important; }
.apm-cq-quote-only .elementor-field-group { padding:0 10px!important; margin:0!important; min-width:0; align-content:start; }
.apm-cq-quote-only .elementor-field-group[hidden] { display:none!important; }
.apm-cq-quote-only .elementor-field-label { color:#243743!important; font-size:16px!important; font-weight:600!important; line-height:1.6!important; padding-bottom:8px!important; }
.apm-cq-quote-only .elementor-field:not([type=radio]):not([type=checkbox]) { font:inherit!important; font-size:16px!important; min-height:48px!important; padding:12px 14px!important; border:1px solid #c7d3dc!important; border-radius:7px!important; box-shadow:none!important; color:#243743!important; background:#fff!important; }
.apm-cq-quote-only textarea.elementor-field { min-height:106px!important; }
.apm-cq-quote-only .elementor-field:focus { border-color:#009ec4!important; outline:3px solid #e2f6fb!important; }
.apm-cq-quote-only .is-conditional { background:transparent!important; border:0!important; }
.apm-qf-intro { padding:8px 0 26px; border-bottom:3px solid #00a8cc; }
.apm-qf-intro .apm-qf-eyebrow { color:#0085a5; font-size:12px; font-weight:600; letter-spacing:.12em; margin:0 0 10px; }
.apm-cq-quote-only .apm-qf-intro h1 { margin:0 0 12px!important; font-family:inherit!important; font-size:clamp(30px,3.6vw,40px)!important; font-weight:700!important; line-height:1.3!important; color:#1e303b!important; }
.apm-qf-intro p { margin:0 0 8px; font-size:16px; color:#526675; line-height:1.75; }
.apm-qf-intro small { font-size:14px; color:#627380; }
.apm-qf-required, .apm-qf-qty b { color:#b32936; }
.apm-qf-section { display:flex; align-items:center; gap:12px; width:100%; padding:26px 0 18px; border-top:1px solid #e0e7eb; margin-top:4px; }
.apm-qf-section > span { display:grid; place-items:center; flex:0 0 32px; height:32px; border-radius:50%; background:#e8f7fb; color:#007e9d; font-size:12px; font-weight:600; }
.apm-cq-quote-only .apm-qf-section h2 { margin:0!important; font:inherit!important; font-size:20px!important; font-weight:600!important; color:#253843!important; line-height:1.5!important; }
.apm-qf-section > a { margin-left:auto; font-size:14px; color:#007d9d; white-space:nowrap; text-decoration:underline; text-underline-offset:4px; }
.apm-cq-quote-only [data-apm-cq-products] { width:100%; }
.apm-qf-product { display:grid; grid-template-columns:72px minmax(0,1fr) 84px 44px; gap:16px; align-items:center; padding:16px 0; border-bottom:1px solid #e1e8ed; }
.apm-qf-product-image { display:grid; place-items:center; width:72px; height:72px; background:#f7fafb; border-radius:6px; color:#728794; }
.apm-qf-product-image img { width:100%; height:100%; object-fit:contain; }
.apm-qf-product-copy { min-width:0; display:flex; flex-direction:column; gap:5px; }
.apm-qf-product-copy a, .apm-qf-product-copy strong { font-size:16px; font-weight:600; color:#253843; overflow-wrap:anywhere; }
.apm-qf-product-copy small { font-size:13px; color:#627784; }
.apm-qf-qty { display:flex; flex-direction:column; gap:5px; font-size:13px; color:#506473; }
.apm-qf-qty input { width:100%; min-height:44px; border:1px solid #c7d3dc; border-radius:6px; background:#fff; padding:8px; font:inherit; font-size:16px; color:#243743; }
.apm-cq-quote-only .apm-qf-remove { min-height:44px; padding:6px; border:0; background:transparent; color:#6b5860; font:inherit; font-size:14px; text-decoration:underline; cursor:pointer; }
.apm-qf-cart-message { width:100%; color:#a12e36; font-size:14px; line-height:1.7; margin-top:12px; }
.apm-qf-cart-message:empty { display:none; }
.apm-cq-quote-only .elementor-field-type-radio .elementor-field-subgroup { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:12px!important; max-width:none!important; }
.apm-cq-quote-only .elementor-field-type-radio .elementor-field-option { min-height:56px!important; padding:14px!important; border:1px solid #d3dee5!important; border-radius:8px!important; background:#fff!important; }
.apm-cq-quote-only .elementor-field-type-radio .elementor-field-option.is-selected { border-color:#009ebf!important; background:#eefafd!important; }
.apm-cq-quote-only .elementor-field-type-radio label { font-size:16px!important; line-height:1.5!important; color:#253843!important; }
.apm-qf-address-preview { padding:16px 18px; border-left:3px solid #009ebf; background:#f2f9fb; color:#425e70; white-space:pre-line; font-size:16px; line-height:1.75; }
.apm-qf-privacy { margin:8px 0 0; font-size:14px; line-height:1.7; color:#647884; }
.apm-cq-quote-only .elementor-field-type-submit { width:100%!important; }
.apm-cq-quote-only .elementor-field-type-submit .elementor-button { width:100%!important; min-height:54px!important; border-radius:8px!important; font:inherit!important; font-size:16px!important; font-weight:600!important; }
.apm-cq-quote-only .apm-cq-security { margin:4px 10px 20px!important; width:calc(100% - 20px)!important; padding:16px!important; }
.apm-qf-empty-card { display:flex; flex-direction:column; align-items:center; text-align:center; padding:36px 20px; background:#f6fafc; border:1px solid #dce8ee; border-radius:10px; }
.apm-qf-empty-icon { width:44px; height:44px; color:#0098b9; margin-bottom:16px; }
.apm-qf-empty-icon svg { width:100%; height:100%; }
.apm-qf-empty-card strong { font-size:20px; color:#243743; }
.apm-qf-empty-card p { font-size:16px; color:#627784; line-height:1.7; margin:10px 0 20px; }
.apm-qf-shop { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:10px 28px; background:#ffe500; border:1px solid #e4cd00; border-radius:7px; color:#172b36!important; font-size:16px; font-weight:600; }
.apm-qf-empty .elementor-field-group:not(.elementor-field-group-intro):not(.elementor-field-group-products_heading):not(.elementor-field-group-customer_heading):not(.elementor-field-group-customer_type):not(.elementor-field-group-type_hint) { display:none!important; }
.apm-qf-empty .apm-cq-security { display:none!important; }
.apm-cq-quote-only :is(a,button,input,textarea):focus-visible { outline:3px solid #80d6eb; outline-offset:3px; }
@media(max-width:600px) {
 .apm-cq-page.apm-cq-quote-only { padding:28px 16px 40px!important; }
 .apm-cq-quote-only .elementor-field-group { width:100%!important; }
 .apm-cq-quote-only .elementor-form-fields-wrapper { row-gap:18px!important; }
 .apm-cq-quote-only .apm-qf-section h2 { font-size:18px!important; }
 .apm-qf-section { flex-wrap:wrap; gap:9px; }
 .apm-qf-section > a { margin-left:41px; }
 .apm-qf-product { grid-template-columns:60px minmax(0,1fr) 44px; gap:12px; }
 .apm-qf-product-image { width:60px; height:60px; }
 .apm-qf-qty { grid-column:2; flex-direction:row; align-items:center; gap:10px; }
 .apm-qf-qty input { width:78px; }
 .apm-qf-remove { grid-column:3; grid-row:1 / span 2; }
 .apm-cq-quote-only .elementor-field-type-radio .elementor-field-subgroup { grid-template-columns:1fr!important; gap:8px!important; }
 .apm-cq-quote-only .apm-cq-security { padding:10px!important; }
}

/* No customer fields, delivery, captcha or submit before a deliberate choice. */
.apm-qf-form:not(.apm-qf-ready) .elementor-field-group:not(.elementor-field-group-intro):not(.elementor-field-group-products_heading):not(.elementor-field-group-customer_heading):not(.elementor-field-group-customer_type):not(.elementor-field-group-type_hint),
.apm-qf-awaiting-type .elementor-field-group:not(.elementor-field-group-intro):not(.elementor-field-group-products_heading):not(.elementor-field-group-customer_heading):not(.elementor-field-group-customer_type):not(.elementor-field-group-type_hint),
.apm-qf-awaiting-type .apm-cq-security { display:none!important; }
.apm-qf-type-hint { margin:0; padding:14px 18px; border-radius:7px; background:#f3f8fb; color:#526675; font-size:16px; line-height:1.7; }
.apm-cq-quote-only .elementor-field-option label,
.apm-cq-quote-only .elementor-field-option label span,
.apm-cq-quote-only .elementor-field-label,
.apm-cq-quote-only .elementor-field::placeholder { font-family:inherit!important; font-size:16px!important; line-height:1.6!important; }
.apm-cq-quote-only .elementor-field::placeholder { color:#788b97!important; font-weight:400!important; }
.apm-qf-schema-mismatch .elementor-form-fields-wrapper { display:none!important; }
.apm-qf-update-notice { font:inherit; font-size:16px; line-height:1.7; padding:24px; border:1px solid #e7cf9e; background:#fff8e8; color:#56431e; }

.apm-cq-quote-only .apm-qf-intro > p:not(.apm-qf-eyebrow),
.apm-cq-quote-only .apm-qf-type-hint { font-family:inherit!important; font-size:16px!important; font-weight:400!important; line-height:1.7!important; }

/* Centered quotation card: border and spacing belong to this form only. */
.apm-cq-page.apm-cq-quote-only { max-width:1040px!important; padding:40px 24px 64px!important; }
.apm-cq-page.apm-cq-quote-only .apm-qf-form { box-sizing:border-box; width:100%; max-width:960px; margin:0 auto!important; padding:36px 40px!important; background:#fff!important; border:1px solid #dfe7ee!important; border-radius:20px!important; box-shadow:0 10px 40px rgba(32,63,82,.06); }
.apm-cq-quote-only .apm-qf-intro { border-bottom:1px solid #e1e9ef; padding-top:0; padding-bottom:24px; }
.apm-cq-quote-only .apm-qf-section { border-top:0; padding-top:18px; }
.apm-cq-quote-only .apm-qf-submit-feedback { margin:16px 0 0; padding:14px 18px; border:1px solid #edcfcc; border-radius:8px; background:#fff6f4; color:#8d3430; font:inherit; font-size:16px; line-height:1.7; }
.apm-cq-quote-only .apm-qf-complete > .elementor-form-fields-wrapper,
.apm-cq-quote-only .apm-qf-complete > .elementor-message,
.apm-cq-quote-only .apm-qf-complete > .apm-cq-security,
.apm-cq-quote-only .apm-qf-complete > .apm-qf-submit-feedback { display:none!important; }
.apm-cq-quote-only .apm-qf-success { max-width:660px; margin:0 auto; padding:24px 0; text-align:center; scroll-margin-top:160px; animation:apm-cq-confirm .25s ease-out; }
.apm-cq-quote-only .apm-qf-success-icon { display:grid; place-items:center; width:72px; height:72px; margin:0 auto 22px; border-radius:50%; background:#eaf8ef; border:1px solid #c4e7d1; color:#178147; }
.apm-qf-success-icon svg { width:36px; height:36px; }
.apm-cq-quote-only .apm-qf-success-kicker { color:#178147!important; font-size:14px!important; font-weight:600!important; margin:0 0 8px!important; }
.apm-cq-quote-only .apm-qf-success h2 { color:#20343f!important; font-family:inherit!important; font-size:clamp(24px,3vw,32px)!important; font-weight:700!important; line-height:1.45!important; margin:0 0 16px!important; }
.apm-cq-quote-only .apm-qf-success p { font-family:inherit!important; font-size:16px; line-height:1.8; color:#556a78; margin:0 0 16px; }
.apm-cq-quote-only .apm-qf-success-reference { display:inline-block; padding:8px 16px; border:1px solid #dce7ed; border-radius:7px; background:#f7fafc; color:#243c4c; overflow-wrap:anywhere; }
.apm-qf-success-next { padding:20px 24px; margin:12px 0 26px; border-radius:10px; background:#f5f9fb; text-align:left; }
.apm-qf-success-next strong { display:block; color:#263e4b; font-size:16px; margin-bottom:6px; }
.apm-cq-quote-only .apm-qf-success-next p { margin:0; }
.apm-qf-success-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; }
.apm-cq-quote-only .apm-qf-success-actions button { min-height:48px; padding:10px 24px; background:#fff!important; color:#365668!important; border:1px solid #cbd9e2!important; border-radius:7px; font-family:inherit!important; font-size:16px!important; font-weight:600; cursor:pointer; }
@keyframes apm-cq-confirm { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce) { .apm-cq-quote-only .apm-qf-success { animation:none; } }
@media(max-width:600px) {
 .apm-cq-page.apm-cq-quote-only { padding:24px 12px 40px!important; }
 .apm-cq-page.apm-cq-quote-only .apm-qf-form { padding:24px 18px!important; border-radius:14px!important; }
 .apm-cq-quote-only .apm-qf-success { padding:12px 0; }
 .apm-qf-success-next { padding:16px; }
 .apm-qf-success-actions { flex-direction:column; }
 .apm-qf-success-actions > * { width:100%; box-sizing:border-box; }
}

/* v1.5: one native Elementor form, with products and customer fields side by side. */
.apm-cq-page.apm-cq-quote-only { max-width:1280px!important; padding:28px 24px 48px!important; }
.apm-cq-page.apm-cq-quote-only .apm-qf-form { max-width:1200px; padding:28px!important; }
.apm-cq-quote-only .elementor-form-fields-wrapper { margin:0!important; row-gap:22px!important; }
.apm-cq-quote-only .elementor-field-group-intro { width:100%!important; padding:0!important; }
.apm-cq-quote-only .apm-qf-intro { padding-bottom:20px; }
.apm-cq-quote-only .apm-qf-intro h1 { font-size:clamp(28px,3vw,36px)!important; margin-bottom:8px!important; }
.apm-qf-columns { display:grid; grid-template-columns:minmax(0, .85fr) minmax(0, 1.15fr); gap:28px; width:100%; align-items:start; }
.apm-qf-products-pane { min-width:0; padding:20px; border:1px solid #e1e9ef; border-radius:12px; background:#f8fafc; }
.apm-qf-details-pane { min-width:0; display:flex; flex-wrap:wrap; gap:16px 0; margin:0 -8px; }
.apm-cq-quote-only .apm-qf-products-pane > .elementor-field-group { width:100%!important; padding:0!important; }
.apm-cq-quote-only .apm-qf-details-pane > .elementor-field-group { padding:0 8px!important; }
.apm-cq-quote-only .apm-qf-section { margin:0; padding:0 0 14px; gap:8px; flex-wrap:wrap; }
.apm-cq-quote-only .apm-qf-section > span { display:none; }
.apm-cq-quote-only .apm-qf-section h2 { font-size:20px!important; }
.apm-cq-quote-only .apm-qf-section > a { margin-left:0; }
.apm-cq-quote-only .elementor-field-group-customer_heading .apm-qf-section { padding:0; }
.apm-cq-quote-only .elementor-field-group-shipping_heading,
.apm-cq-quote-only .elementor-field-group-shipping_preview { display:none!important; }
.apm-cq-quote-only .elementor-field-label { padding-bottom:6px!important; }
.apm-cq-quote-only .elementor-field-type-radio .elementor-field-option { min-height:48px!important; padding:10px 12px!important; }
.apm-cq-quote-only .elementor-field-type-radio .elementor-field-option label { font-size:16px!important; }
.apm-cq-quote-only textarea.elementor-field { min-height:90px!important; }
.apm-cq-quote-only .apm-cq-security { margin:0 8px!important; width:calc(100% - 16px)!important; padding:12px!important; }
.apm-cq-quote-only .apm-qf-privacy { margin:0; }
.apm-cq-quote-only .apm-qf-product { grid-template-columns:56px minmax(0,1fr) 38px; gap:10px 12px; padding:16px 0; align-items:start; }
.apm-cq-quote-only .apm-qf-product-image { width:56px; height:56px; }
.apm-cq-quote-only .apm-qf-product-copy a,
.apm-cq-quote-only .apm-qf-product-copy strong { font-size:16px; line-height:1.6; word-break:normal; }
.apm-cq-quote-only .apm-qf-qty { grid-column:2; display:flex; flex-direction:row; align-items:center; gap:12px; font-size:14px; }
.apm-cq-quote-only .apm-qf-qty input { width:76px; }
.apm-cq-quote-only .apm-qf-remove { grid-column:3; grid-row:1 / span 2; }
.apm-qf-model { grid-column:1 / -1; display:flex; flex-direction:column; gap:6px; min-width:0; font-size:16px; color:#243743; }
.apm-qf-model input { box-sizing:border-box; width:100%; min-width:0; min-height:46px; padding:10px 12px; border:1px solid #c7d3dc; border-radius:7px; color:#243743; background:#fff; font-family:inherit; font-size:16px; }
.apm-qf-model input::placeholder { font-size:14px; color:#788b97; }
.apm-cq-quote-only .apm-qf-products-retry { min-height:44px; padding:8px 12px; margin-top:12px; font:inherit; font-size:14px; border:1px solid #bed4e0; border-radius:6px; color:#007e99; background:#fff; cursor:pointer; }
.apm-cq-quote-only .apm-qf-products-retry[hidden] { display:none!important; }
.apm-qf-product-unavailable { color:#9e3030!important; }
/* Hide visual required marks only; HTML and server validation remain required. */
.apm-cq-quote-only .elementor-field-required .elementor-field-label::after,
.apm-cq-quote-only .elementor-mark-required .elementor-field-label::after { content:none!important; display:none!important; }
.apm-cq-quote-only .elementor-required,
.apm-cq-quote-only .apm-qf-required { display:none!important; }
.apm-cq-quote-only .apm-qf-screen-reader { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip-path:inset(50%); white-space:nowrap; padding:0!important; margin:-1px!important; }
@media(max-width:900px) {
 .apm-qf-columns { grid-template-columns:minmax(0,1fr); gap:24px; }
 .apm-cq-page.apm-cq-quote-only .apm-qf-form { padding:24px!important; }
}
@media(max-width:600px) {
 .apm-cq-page.apm-cq-quote-only { padding:20px 12px 36px!important; }
 .apm-cq-page.apm-cq-quote-only .apm-qf-form { padding:20px 16px!important; }
 .apm-qf-products-pane { padding:14px; }
 .apm-cq-quote-only .apm-qf-section h2 { font-size:18px!important; }
}

/* v1.5.3: explicit red warnings and field-level correction guidance. */
.apm-cq-quote-only .apm-qf-cart-message.apm-qf-model-warning { color:#ff0000!important; font-size:14px!important; }
.apm-cq-quote-only input.apm-qf-invalid,
.apm-cq-quote-only textarea.apm-qf-invalid,
.apm-cq-quote-only select.apm-qf-invalid { border:1px solid #ff0000!important; box-shadow:0 0 0 1px #ff0000!important; }
.apm-cq-quote-only .apm-qf-invalid-group.elementor-field-type-radio .elementor-field-option { border-color:#ff0000!important; }
.apm-cq-quote-only .apm-qf-field-error { flex-basis:100%; width:100%; margin:6px 0 0!important; padding:0; color:#ff0000!important; font-family:inherit!important; font-size:14px!important; line-height:1.6!important; }
.apm-cq-quote-only .apm-qf-qty { flex-wrap:wrap; }
.apm-cq-quote-only .apm-qf-invalid-group { scroll-margin-top:150px; }
.apm-cq-quote-only .apm-qf-remove { background:transparent!important; color:#6b5860!important; border:0!important; }

/* The optional note remains visible for both selected customer types. */
.apm-cq-page.apm-cq-quote-only .apm-qf-ready form[data-apm-customer-selected="1"][data-apm-cq-has-items="1"] .elementor-field-group-quote_note { display:flex!important; flex-wrap:wrap; width:100%!important; visibility:visible!important; opacity:1!important; }
.apm-cq-page.apm-cq-quote-only .elementor-field-group-quote_note textarea { display:block!important; width:100%!important; min-height:96px!important; visibility:visible!important; opacity:1!important; }

/* v1.5.3: equal name columns; legacy billing input is retired. */
.apm-cq-quote-only .apm-qf-details-pane > .apm-qf-name-field { width:50%!important; min-width:0; }
.apm-cq-quote-only .elementor-field-group-quote_address { display:none!important; }
@media (max-width:480px) {
 .apm-cq-quote-only .apm-qf-details-pane > .apm-qf-name-field { width:100%!important; }
}
