/* Scoped inquiry form; public theme tokens come from the shared facelift. */
.p23-lecture-inquiry .p23-section { max-width: 920px; margin-inline: auto; }
.p23-inquiry-form { margin-block: 28px; }
.p23-inquiry-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.p23-inquiry-field { min-width: 0; }
.p23-inquiry-field--wide { grid-column: 1 / -1; }
.p23-inquiry-field label { display: block; font-weight: 700; margin-bottom: 8px; }
.p23-inquiry-field label span { font-weight: 400; }
.p23-inquiry-field input, .p23-inquiry-field select, .p23-inquiry-field textarea {
    display: block; box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%;
    min-height: 48px; padding: 12px; border: 1px solid currentColor; border-radius: 4px;
    color: inherit; background: var(--p23-field, #fff); font: inherit; line-height: 1.4;
}
.p23-inquiry-field select { white-space: normal; }
.p23-inquiry-field textarea { resize: vertical; }
.p23-inquiry-field :is(input, select, textarea):focus-visible { outline: 3px solid #f00; outline-offset: 3px; }
.p23-inquiry-field [aria-invalid="true"] { border-width: 2px; }
.p23-inquiry-hint { font-size: .9rem; line-height: 1.5; margin: 8px 0 0; }
.p23-inquiry-error { font-weight: 700; margin: 8px 0 0; }
.p23-inquiry-form > .p23-inquiry-hint { margin-block: 24px 16px; }
.p23-inquiry-feedback { margin: 24px 0; padding: 20px; border: 2px solid currentColor; border-radius: 4px; overflow-wrap: anywhere; }
.p23-inquiry-feedback--error { border-left: 6px solid #f00; }
.p23-inquiry-feedback:focus { outline: 3px solid #f00; outline-offset: 3px; }
.p23-inquiry-feedback h2 { margin-top: 0; font-size: 1.4rem; }
.p23-inquiry-feedback a { text-decoration: underline; }
.p23-inquiry-contact { margin-top: 28px; overflow-wrap: anywhere; }
.p23-inquiry-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-width: 640px) {
    .p23-inquiry-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .p23-inquiry-form .p23-button { width: 100%; }
    .p23-inquiry-feedback { padding: 16px; }
}
