/* 온통대전 공통 메시지 다이얼로그 */
html.ot-message-open, html.ot-message-open body { overflow: hidden; }
.ot-message-dialog { position: fixed; inset: 0; width: calc(100% - 32px); max-width: 440px; max-height: calc(100vh - 48px); max-height: calc(100dvh - 48px); box-sizing: border-box; margin: auto; padding: 0; border: 0; border-radius: 24px; background: #fff; color: #1e1e1e; font-family: var(--ot-font, sans-serif); box-shadow: 0 24px 80px rgba(16, 48, 42, .22); overflow: auto; overscroll-behavior: contain; }
.ot-message-dialog:not([open]) { display: none; }
.ot-message-dialog[open] { animation: ot-message-in .2s ease-out; }
.ot-message-dialog::backdrop { background: rgba(17, 32, 28, .5); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.ot-message-dialog .ot-message-close { position: absolute; top: 12px; right: 12px; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 10px; border: 0; border-radius: 50%; background: transparent; color: #6a7471; cursor: pointer; }
.ot-message-dialog .ot-message-close svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.ot-message-dialog .ot-message-close:hover { background: #f3f7f5; }
.ot-message-body { padding: 36px 28px 24px; text-align: center; }
.ot-message-icon { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin: 0 auto 18px; border-radius: 50%; background: #e4f5f0; color: #1f8f7a; font-size: 28px; font-weight: 700; line-height: 1; }
.ot-message-dialog h2 { margin: 0 0 12px; padding: 0; font-size: 21px; font-weight: 700; line-height: 1.5; color: #1e1e1e; }
.ot-message-dialog p { margin: 0; padding: 0; font-size: 16px; line-height: 1.75; color: #595959; white-space: pre-wrap; overflow-wrap: anywhere; word-break: keep-all; }
.ot-message-actions { position: sticky; bottom: 0; padding: 0 28px 28px; background: #fff; }
.ot-message-dialog .ot-message-confirm { display: block; width: 100%; min-height: 48px; padding: 12px 20px; border: 1px solid #2cb59b; border-radius: 12px; background: #2cb59b; color: #fff; font: inherit; font-size: 16px; font-weight: 700; line-height: 1.5; cursor: pointer; transition: background .2s ease; }
.ot-message-dialog .ot-message-confirm:hover { background: #1f8f7a; border-color: #1f8f7a; }
.ot-message-dialog button:focus-visible { outline: 2px solid #1f8f7a; outline-offset: 3px; }
@keyframes ot-message-in { from { opacity: 0; transform: translateY(8px) scale(.98); } to { opacity: 1; transform: none; } }
@media (max-width: 480px) { .ot-message-body { padding: 32px 24px 22px; } .ot-message-actions { padding: 0 24px 24px; } .ot-message-dialog h2 { font-size: 20px; } }
@media (prefers-reduced-motion: reduce) { .ot-message-dialog[open] { animation: none; } }
