/* Live portal demo dialog (site-portal-demos.mjs) */
.demo-modal { width: min(1100px, calc(100vw - 32px)); height: min(760px, calc(100vh - 32px)); padding: 0; border: 1px solid var(--line-strong, #30394c); border-radius: 18px; background: var(--surface, #fff); color: var(--ink, #021F56); box-shadow: 0 24px 64px rgba(2, 31, 86, .4); overflow: hidden; font-family: var(--sans, Inter, system-ui, sans-serif); }
.demo-modal[open] { display: flex; flex-direction: column; }
.demo-modal::backdrop { background: rgba(2, 17, 48, .68); backdrop-filter: blur(2px); }
.demo-modal .dm-bar { flex: none; display: flex; align-items: center; gap: 12px; padding: 10px 14px; background: #021F56; color: #fff; }
.demo-modal .dm-logo { height: 26px; width: auto; flex: none; }
.demo-modal .dm-title { margin: 0; font: 700 16px/1.2 var(--sans, Inter, sans-serif); color: #fff; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.demo-modal .dm-note { font-size: 13px; color: #cfe0ff; margin: 0; }
.demo-modal .dm-btn { flex: none; min-height: 40px; padding: 0 16px; border: 1px solid rgba(255, 255, 255, .4); border-radius: 999px; background: transparent; color: #fff; font: 600 14px/1 var(--sans, Inter, sans-serif); cursor: pointer; }
.demo-modal .dm-btn:hover { background: rgba(255, 255, 255, .16); }
.demo-modal .dm-x { width: 40px; padding: 0; font-size: 22px; font-weight: 400; }
.demo-modal .dm-btn:focus-visible { outline: 3px solid #6BA6FF; outline-offset: 2px; }
.demo-modal iframe { flex: 1; width: 100%; border: 0; background: #fff; }
.r-demo { cursor: pointer; }
@media (max-width: 700px) { .demo-modal { width: 100vw; height: 100dvh; max-width: 100vw; max-height: 100dvh; border-radius: 0; border: 0; } .demo-modal .dm-note { display: none; } }
