:host {
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 9999;
    pointer-events: none; /* Let clicks pass through the container so it doesn't block the UI */
}

/* Base Toast Styles */
.toast {
    background: var(--resume-bg-body);
    color: var(--resume-text-main);
    padding: 16px 24px;
    border-radius: 12px;
    box-shadow: var(--resume-shadow-lg);
    border: 1px solid var(--resume-border-color);
    display: flex;
    align-items: center;
    gap: 12px;
    pointer-events: auto; /* Catch clicks on the toast itself if needed */
    font-family: var(--resume-font-main);
    font-weight: 600;
    font-size: 0.95rem;
    
    /* Animation initial state */
    transform: translateY(20px);
    opacity: 0;
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.4s ease; /* Bouncy entrance up */
}

/* Active State */
.toast.show {
    transform: translateY(0);
    opacity: 1;
}

/* Icon Container */
.toast-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    flex-shrink: 0;
}

/* Success Theme */
.toast.success .toast-icon {
    background: rgba(16, 185, 129, 0.15);
    color: #10B981;
}

/* Error Theme */
.toast.error .toast-icon {
    background: rgba(239, 68, 68, 0.15);
    color: #EF4444;
}

/* Mobile Responsiveness */
@media (max-width: 480px) {
    :host {
        bottom: 20px;
        right: 20px;
        left: 20px; /* Stretch across the bottom on mobile */
    }
    
    .toast {
        width: 100%;
        box-sizing: border-box;
    }
}
