#toastContainer {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 3000;
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 360px;
    max-width: calc(100vw - 32px);
    pointer-events: none;
}

#toastContainer .toast {
    opacity: 1;
    pointer-events: auto;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    background: #fff;
    border: 1px solid #eef2f7;
    border-left: 4px solid #1e90ff;
    border-radius: 12px;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .18);
    animation: toastSlideIn .25s ease-out;
}

#toastContainer .toast--success { border-left-color: #16a34a; }
#toastContainer .toast--error { border-left-color: #dc2626; }
#toastContainer .toast--info { border-left-color: #1e90ff; }
#toastContainer .toast--undo { border-left-color: #475569; }

#toastContainer .toast.toast-exit { animation: toastSlideOut .25s ease-in forwards; }

#toastContainer .toast__icon {
    flex-shrink: 0;
    font-size: 22px;
    line-height: 1;
    margin-top: 1px;
}

#toastContainer .toast--success .toast__icon { color: #16a34a; }
#toastContainer .toast--error .toast__icon { color: #dc2626; }
#toastContainer .toast--info .toast__icon { color: #1e90ff; }
#toastContainer .toast--undo .toast__icon { color: #475569; }

#toastContainer .toast__content { flex: 1; min-width: 0; }
#toastContainer .toast__title { font-weight: 600; font-size: 14px; color: #1f2937; margin-bottom: 2px; }
#toastContainer .toast__message { font-size: 13.5px; color: #475569; line-height: 1.4; word-wrap: break-word; }
#toastContainer .toast__close { flex-shrink: 0; background: none; border: none; color: #94a3b8; font-size: 18px; line-height: 1; cursor: pointer; padding: 2px; }
#toastContainer .toast__close:hover { color: #475569; }

@keyframes toastSlideIn {
    from { opacity: 0; transform: translateX(40px); }
    to { opacity: 1; transform: translateX(0); }
}
@keyframes toastSlideOut {
    from { opacity: 1; transform: translateX(0); }
    to { opacity: 0; transform: translateX(40px); }
}

.page-content-area { line-height: 1.8; color: #6f6f6f; }
.page-content-area h1, .page-content-area h2, .page-content-area h3, .page-content-area h4 { color: #363636; margin-bottom: 1rem; }
.page-content-area p { margin-bottom: 1.2rem; }
.page-content-area ul, .page-content-area ol { padding-left: 1.4rem; margin-bottom: 1.2rem; }
.page-content-area img { max-width: 100%; height: auto; border-radius: 8px; }

.map-area iframe { width: 100%; min-height: 320px; border: 0; border-radius: 8px; }

.blog-filter-bar { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 30px; }
.blog-cat-chip { display: inline-block; padding: 6px 16px; border-radius: 30px; border: 1px solid #e5e9f2; color: #4b5563; text-decoration: none; font-size: 14px; }
.blog-cat-chip:hover, .blog-cat-chip.active { background: #1e90ff; border-color: #1e90ff; color: #fff; }

.post__cat-badge { display: inline-block; background: rgba(30,144,255,.1); color: #1e90ff; font-size: 12px; padding: 2px 10px; border-radius: 20px; margin-bottom: 10px; }

.hp-field { position: absolute; left: -9999px; top: -9999px; width: 1px; height: 1px; overflow: hidden; }

.error-icon { font-size: 64px; }

.x-icon { width: 1em; height: 1em; vertical-align: -0.125em; }

.post__share li a i.x-share { display: flex; align-items: center; justify-content: center; background: #000; }
.post__share li a i.x-share .x-icon { width: 18px; height: 18px; vertical-align: 0; }
