/* Shared modal component. */
html.___modal__open,
html.___modal__open body { overflow:hidden; }

.___modal { box-sizing:border-box;position:fixed;inset:0;width:min(820px,calc(100% - 32px));max-width:820px;height:min(760px,calc(100dvh - 64px));max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #e2e2e2;border-radius:18px;background:#fff;color:#202020;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.24);font:inherit; }
.___modal:not([open]) { display:none; }
.___modal[open] { display:flex;flex-direction:column; }
.___modal * { box-sizing:border-box; }
.___modal::backdrop { background:rgba(17,24,39,.55);backdrop-filter:blur(2px); }

.___modal__header { display:grid;grid-template-columns:42px minmax(0,1fr) 42px;flex:none;align-items:center;gap:12px;min-height:88px;padding:10px 16px;border-bottom:1px solid #ededed;background:#fff; }
@media (min-width:640px) { .___modal__header { padding-inline:24px; } }
@media (min-width:1024px) { .___modal__header { padding-inline:32px; } }
.___modal__heading { min-width:0;text-align:center; }
.___modal__back,
.___modal__close { appearance:none;display:grid;width:42px;height:42px;place-items:center;margin:0;padding:8px;border:0;border-radius:50%;background:transparent;color:#111;text-decoration:none;cursor:pointer; }
.___modal__back { justify-self:start; }
.___modal__close { justify-self:end;font:inherit; }
.___modal__back:hover,
.___modal__close:hover { background:#f4f4f4;color:#111;text-decoration:none; }
.___modal__back svg,
.___modal__close svg { display:block;width:24px;height:24px; }
.___modal__title { margin:0;color:#111;font-size:clamp(1.25rem,3vw,1.55rem);font-weight:750;line-height:1.15; }
.___modal__subtitle { margin:4px 0 0;color:#4f4f4f;font-size:15px;line-height:1.25; }
.___modal button:focus-visible,
.___modal a:focus-visible,
.___modal input:focus-visible,
.___modal textarea:focus-visible { outline:3px solid #2251cc;outline-offset:2px; }
.___modal__content { flex:1;min-height:0;overflow:auto;overscroll-behavior:contain; }
.___modal__inner { width:100%;max-width:760px;margin:0 auto; }
.___modal [hidden] { display:none!important; }

@media (max-width:767px) {
    .___modal { width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;border:0;border-radius:0;box-shadow:none; }
    .___modal__header { min-height:88px;padding:calc(10px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left)); }
    .___modal__content { padding-bottom:env(safe-area-inset-bottom); }
}
@media (min-width:640px) and (max-width:767px) {
    .___modal__header { padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right)); }
}
