html.inquiry-modal-open { overflow: hidden; }
.inquiry-modal {
    position: fixed;
    inset: 0;
    margin: auto;
    padding: 0;
    width: min(600px, calc(100vw - 40px));
    max-width: none;
    max-height: calc(100dvh - 64px);
    border: 0;
    background: #f1f1f1;
    color: #333;
    overflow: visible;
    box-shadow: 0 2px 16px rgb(0 0 0 / 45%);
}
.inquiry-modal::backdrop { background: rgb(0 0 0 / 50%); }
.inquiry-modal-panel { padding: 34px 34px 40px; max-height: calc(100dvh - 64px); overflow-y: auto; }
.inquiry-modal h2 { margin: 0 0 16px; font-size: 30px; font-weight: 400; line-height: 1.4; text-align: left; }
.inquiry-modal-close {
    position: absolute; top: -9px; right: -9px; z-index: 1;
    width: 34px; height: 34px; display: grid; place-items: center;
    padding: 0; border: 2px solid #fff; border-radius: 50%;
    background: #333; color: #fff; cursor: pointer; font-size: 27px; font-weight: 700; line-height: 1;
}
.inquiry-modal-close::after { content: ''; position: absolute; inset: -6px; }
.inquiry-modal .inquiry-modal-form { display: flex; flex-direction: column; gap: 10px; margin: 0; width: 100%; }
.inquiry-modal-field { display: block; margin: 0; }
.inquiry-modal-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; clip-path: inset(50%); overflow: hidden; white-space: nowrap; }
.inquiry-modal-field input, .inquiry-modal-field textarea {
    display: block; width: 100%; box-sizing: border-box; min-width: 0;
    padding: 12px; border: 1px solid #ccc; border-radius: 5px;
    background: #fff; color: #333; font: inherit; font-size: 16px; line-height: 24px;
}
.inquiry-modal-field input { height: 50px; }
.inquiry-modal-field textarea { min-height: 150px; resize: vertical; }
.inquiry-modal-field input::placeholder, .inquiry-modal-field textarea::placeholder { color: #808080; opacity: 1; }
.inquiry-modal :is(input, textarea, button):focus-visible { outline: 2px solid #d80b20; outline-offset: 2px; }
.inquiry-modal .inquiry-modal-submit {
    width: 100%; min-height: 57px; margin: 10px 0 0; padding: 14px 20px;
    border: 0; border-radius: 5px; background: #df0820; color: #fff;
    font: inherit; font-size: 16px; font-weight: 700; cursor: pointer;
}
.inquiry-modal .inquiry-modal-submit:hover { background: #bc071b; }
.inquiry-modal .inquiry-modal-submit:disabled { opacity: .65; cursor: wait; }
.inquiry-modal .quote-form-status { margin: 4px 0 0; text-align: left; overflow-wrap: anywhere; }
@media (max-width: 600px) {
    .inquiry-modal-panel { padding: 26px 20px 28px; }
    .inquiry-modal h2 { font-size: 25px; }
    .inquiry-modal-field textarea { min-height: 130px; }
}
