/* CARMOND-CODEX-CHANGE 2026-08-14: shared request modal in the current CARMOND visual system. */
.cm-request-modal[hidden]{display:none!important}.cm-request-modal{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:24px}.cm-request-modal__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.66)}.cm-request-modal__dialog{position:relative;width:min(760px,100%);max-width:760px;max-height:calc(100dvh - 48px);overflow:auto;border-radius:12px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.32);outline:0}.cm-request-modal__body{min-height:180px}.cm-request-modal__close{position:sticky;z-index:4;top:10px;float:right;width:44px;height:44px;margin:10px 10px -54px 0;border:1px solid #dbe3ee;border-radius:50%;display:grid;place-items:center;background:#fff;color:#172033;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 5px 16px rgba(15,23,42,.12)}.cm-request-modal__close:focus-visible,.cm-request-modal__message button:focus-visible,.cm-request-modal__message a:focus-visible{outline:3px solid rgba(37,99,235,.38);outline-offset:2px}.cm-request-modal .carmond-form{margin:0;padding:30px 30px 28px}.cm-request-modal .carmond-form__heading{padding-right:48px}.cm-request-modal .carmond-form input:not([type="radio"]):not([type="checkbox"]),.cm-request-modal .carmond-form textarea,.cm-request-modal .carmond-form select{border:1px solid #ea580c}.cm-request-modal .carmond-form input:focus,.cm-request-modal .carmond-form textarea:focus,.cm-request-modal .carmond-form select:focus{border-color:#c2410c;box-shadow:0 0 0 3px rgba(234,88,12,.14)}.cm-request-modal .carmond-form__submit{background:#ea580c;border-color:#ea580c}.cm-request-modal__loading,.cm-request-modal__message{min-height:230px;padding:72px 30px 36px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#64748b}.cm-request-modal__message strong{color:#172033;font-size:20px}.cm-request-modal__message p{margin:9px 0 18px}.cm-request-modal__message button,.cm-request-modal__message a{min-height:44px;margin:4px;padding:0 16px;border:1px solid #ea580c;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;background:#ea580c;color:#fff;font-weight:800}.cm-request-modal__message a{background:#fff;color:#c2410c}.cm-request-modal-open{overflow:hidden!important}
@media(max-width:640px){.cm-request-modal{padding:8px;place-items:stretch}.cm-request-modal__dialog{width:100%;max-width:none;max-height:calc(100dvh - 16px);border-radius:10px}.cm-request-modal .carmond-form{padding:22px 16px 24px}.cm-request-modal .carmond-form__heading{padding-right:42px}.cm-request-modal__close{top:7px;margin:7px 7px -51px 0}.cm-request-modal__loading,.cm-request-modal__message{padding:64px 18px 28px}}
@media(prefers-reduced-motion:reduce){.cm-request-modal *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* CARMOND-CODEX-CHANGE 2026-08-14: compact product-selection popup uses one field per row. */
.cm-request-modal__body .carmond-form--product_selection .carmond-form__fields { grid-template-columns: minmax(0, 1fr); }
/* CARMOND-CODEX-CHANGE 2026-08-14: compact selection dialog is half the standard desktop width. */
.cm-request-modal--compact .cm-request-modal__dialog { width: min(380px, 100%); max-width: 380px; }
/* CARMOND-CODEX-CHANGE 2026-08-16: compact contact methods use the approved 3 + 1 grid. */
.cm-request-modal--compact .carmond-form__preferred-contact .carmond-form__choices { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cm-request-modal--compact .carmond-form__preferred-contact label:has(input[value="call"]) { grid-column: 1 / -1; }