.mgpm-public {
    --mgpm-blue: #123f73;
    --mgpm-bright: #1568b6;
    --mgpm-red: #c62026;
    --mgpm-border: #cbd9e7;
    --mgpm-pale: #f4f8fc;
    --mgpm-text: #18334f;
    color: var(--mgpm-text);
    max-width: 1080px;
    margin: 2rem auto;
    font-family: inherit;
}
.mgpm-public *, .mgpm-public *::before, .mgpm-public *::after { box-sizing: border-box; }
.mgpm-public__header { margin-bottom: 1.5rem; }
.mgpm-public__header h1 { color: var(--mgpm-blue); margin: .2rem 0 .55rem; font-size: clamp(2rem, 5vw, 3.2rem); line-height: 1.08; }
.mgpm-public__header > p:last-child { max-width: 720px; font-size: 1.08rem; }
.mgpm-public__eyebrow { margin: 0; color: var(--mgpm-bright); font-size: .78rem; font-weight: 800; letter-spacing: .18em; }
.mgpm-public__search, .mgpm-public__request {
    border: 1px solid var(--mgpm-border);
    border-radius: 14px;
    background: var(--mgpm-pale);
    padding: 1.35rem;
}
.mgpm-public__search { display: grid; grid-template-columns: minmax(260px, 2fr) minmax(180px, 1fr) auto; gap: 1rem; align-items: end; }
.mgpm-public__field { display: grid; gap: .4rem; color: var(--mgpm-blue); font-weight: 700; }
.mgpm-public__field small { font-weight: 400; }
.mgpm-public input, .mgpm-public select, .mgpm-public textarea {
    width: 100%; min-height: 48px; margin: 0; border: 1px solid #9eb5ca; border-radius: 7px;
    background: #fff; color: #172f47; padding: .72rem .8rem; font: inherit;
}
.mgpm-public textarea { min-height: 110px; resize: vertical; }
.mgpm-public input:focus, .mgpm-public select:focus, .mgpm-public textarea:focus { outline: 3px solid rgba(21,104,182,.2); border-color: var(--mgpm-bright); }
.mgpm-public__button {
    display: inline-flex; justify-content: center; align-items: center; min-height: 48px; border: 1px solid var(--mgpm-bright);
    border-radius: 7px; background: #fff; color: var(--mgpm-blue); padding: .7rem 1.15rem; font: inherit; font-weight: 800;
    text-decoration: none; cursor: pointer;
}
.mgpm-public__button:hover { background: #eaf3fb; color: var(--mgpm-blue); }
.mgpm-public__button--primary { background: var(--mgpm-bright); color: #fff; }
.mgpm-public__button--primary:hover { background: var(--mgpm-blue); color: #fff; }
.mgpm-public__button:disabled { opacity: .55; cursor: wait; }
.mgpm-public__text-button { border: 0; background: transparent; color: var(--mgpm-bright); padding: .2rem 0; font: inherit; font-weight: 800; text-decoration: underline; cursor: pointer; }
.mgpm-public__feedback { min-height: 1.5rem; margin: .85rem 0; font-weight: 700; }
.mgpm-public__feedback.is-error { color: #a30f1b; }
.mgpm-public__feedback.is-success { color: #146c43; }
.mgpm-public__feedback.is-loading { color: var(--mgpm-blue); }
.mgpm-public__results { display: grid; gap: .85rem; margin-top: .75rem; }
.mgpm-public__results-heading h2 { margin: 0 0 .25rem; color: var(--mgpm-blue); }
.mgpm-public__results-heading p { margin: 0 0 .7rem; }
.mgpm-public__result {
    display: grid; grid-template-columns: 92px minmax(0, 1fr) auto; gap: 1rem; align-items: center;
    border: 1px solid var(--mgpm-border); border-radius: 12px; background: #fff; padding: 1rem;
}
.mgpm-public__image, .mgpm-public__image-placeholder { width: 92px; height: 92px; border-radius: 8px; object-fit: contain; background: var(--mgpm-pale); }
.mgpm-public__image-placeholder { display: grid; place-items: center; color: #7791aa; font-weight: 900; letter-spacing: .08em; }
.mgpm-public__result h3 { margin: 0 0 .3rem; color: var(--mgpm-blue); font-size: 1.2rem; }
.mgpm-public__status { margin: 0 0 .2rem; color: var(--mgpm-blue); font-weight: 850; }
.mgpm-public__status.is-available { color: #146c43; }
.mgpm-public__status.is-unavailable { color: #7c2630; }
.mgpm-public__description { margin: 0; color: #50667b; }
.mgpm-public__new-request, .mgpm-public__success { border: 1px dashed #9eb5ca; border-radius: 12px; background: var(--mgpm-pale); padding: 1.15rem; }
.mgpm-public__new-request p { margin: 0 0 .25rem; }
.mgpm-public__request { margin-top: 1rem; }
.mgpm-public__request-heading { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; margin-bottom: 1rem; }
.mgpm-public__request-heading h2 { margin: .15rem 0 0; color: var(--mgpm-blue); }
.mgpm-public__form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.mgpm-public__field--wide, .mgpm-public__field--full { grid-column: 1 / -1; }
.mgpm-public__privacy { margin: 1rem 0; color: #52697e; font-size: .92rem; }
.mgpm-public__trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.mgpm-public__success h2 { margin: 0 0 .5rem; color: var(--mgpm-blue); }
.mgpm-public__success .mgpm-public__button { margin-top: .6rem; }
[data-mgpm-results][hidden], [data-mgpm-request][hidden] { display: none !important; }

@media (max-width: 760px) {
    .mgpm-public { margin: 1.25rem auto; }
    .mgpm-public__search, .mgpm-public__form-grid { grid-template-columns: 1fr; }
    .mgpm-public__field--wide, .mgpm-public__field--full { grid-column: auto; }
    .mgpm-public__search .mgpm-public__button { width: 100%; }
    .mgpm-public__result { grid-template-columns: 72px minmax(0, 1fr); }
    .mgpm-public__image, .mgpm-public__image-placeholder { width: 72px; height: 72px; }
    .mgpm-public__result-actions { grid-column: 1 / -1; }
    .mgpm-public__result-actions .mgpm-public__button { width: 100%; }
}
